﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ПроцедурыУправленияПерсоналом
	{
		// Выполняет расчет часовой тарифной ставки работника
		// Возвращает результат с учетом курса валюты тарифной ставки
		//

		public object ЧасоваяТарифнаяСтавкаРаботникаОрг(/*Знач Сотрудник, Знач ДатаАктуальности, Знач ДатаВалютногоУчета, ВалютаРегламентированногоУчета*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Сотрудник",			Сотрудник);
			//Запрос.УстановитьПараметр("ДатаАктуальности",	ДатаАктуальности);
			//Запрос.УстановитьПараметр("ТекущийМесяц",		НачалоМесяца(ДатаАктуальности));
			//Запрос.УстановитьПараметр("ДатаВалютногоУчета",	НачалоМесяца(ДатаВалютногоУчета));
			//Запрос.УстановитьПараметр("РегламентВалюта",	ВалютаРегламентированногоУчета);
			//Запрос.УстановитьПараметр("Год",				Год(ДатаАктуальности));
			/*// НормаВремениПоСводнымИндивидуальнымГрафикам
*/
			/*// 
*/
			/*//	Поля:
*/
			/*//		Часов - указанное пользователем значение
*/
			/*// 
*/
			/*// НормаВремениПоЕжедневнымИндивидуальнымГрафикам
*/
			/*//		Таблица нормы времени в часах, введенной индивидуальными графиками
*/
			/*// 
*/
			/*//	Поля:
*/
			/*//		ЧасовЗаМесяц - суммируем все часы рабочего времени
*/
			/*// 
*/
			/*// Описание:
*/
			/*//
*/
			/*//	выбираем данные из рег-ра ГрафикиРаботыПоВидамВремени,	
*/
			/*//	введенные доками ВводИндивидуальныхГрафиков, т.е. по строкам с выставленным флажком План
*/
			/*// 
*/
			/*// НормаВремениПоОбщимГрафикам
*/
			/*//		Таблица нормы времени в часах по общим графикам
*/
			/*// 
*/
			/*//	Поля:
*/
			/*//		ЧасовЗаМесяц - суммируем все часы рабочего времени
*/
			/*// 
*/
			/*// Описание:
*/
			/*//
*/
			/*//	выбираем данные из рег-ра ГрафикиРаботыПоВидамВремени для общих графиков
*/
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	ВЫБОР
	|		КОГДА ОсновноеНачисление.ПериодЗавершения <= &ДатаАктуальности
	|				И ОсновноеНачисление.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ОсновноеНачисление.ВидРасчетаЗавершения.СпособРасчета
	|		ИНАЧЕ ОсновноеНачисление.ВидРасчета.СпособРасчета
	|	КОНЕЦ КАК СпособРасчета,
	|	ВЫБОР
	|		КОГДА ОсновноеНачисление.ПериодЗавершения <= &ДатаАктуальности
	|				И ОсновноеНачисление.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ВЫБОР
	|					КОГДА ОсновноеНачисление.ВидРасчетаЗавершения.ТребуетВводаТарифногоРазряда
	|						ТОГДА РазмерТарифныхСтавок.Размер
	|					ИНАЧЕ ОсновноеНачисление.Показатель1Завершения
	|				КОНЕЦ
	|		ИНАЧЕ ВЫБОР
	|				КОГДА ОсновноеНачисление.ВидРасчета.ТребуетВводаТарифногоРазряда
	|					ТОГДА РазмерТарифныхСтавок.Размер
	|				ИНАЧЕ ОсновноеНачисление.Показатель1
	|			КОНЕЦ
	|	КОНЕЦ * ВЫБОР
	|		КОГДА ВЫБОР
	|				КОГДА ОсновноеНачисление.ПериодЗавершения <= &ДатаАктуальности
	|						И ОсновноеНачисление.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|					ТОГДА ВЫБОР
	|							КОГДА ОсновноеНачисление.ВидРасчетаЗавершения.ТребуетВводаТарифногоРазряда
	|								ТОГДА РазмерТарифныхСтавок.Валюта
	|							ИНАЧЕ ОсновноеНачисление.Валюта1Завершения
	|						КОНЕЦ
	|				ИНАЧЕ ВЫБОР
	|						КОГДА ОсновноеНачисление.ВидРасчета.ТребуетВводаТарифногоРазряда
	|							ТОГДА РазмерТарифныхСтавок.Валюта
	|						ИНАЧЕ ОсновноеНачисление.Валюта1
	|					КОНЕЦ
	|			КОНЕЦ В (&РегламентВалюта, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
	|			ТОГДА 1
	|		ИНАЧЕ ЕСТЬNULL(Валюты.Курс / Валюты.Кратность, 0)
	|	КОНЕЦ КАК ОкладТариф
	|ПОМЕСТИТЬ ВТРазмерОсновногоНачисления
	|ИЗ
	|	РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
	|			&ДатаАктуальности,
	|			Сотрудник = &Сотрудник
	|				И ВидРасчетаИзмерение.Код ЕСТЬ NULL ) КАК ОсновноеНачисление
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&ДатаВалютногоУчета, ) КАК РазмерТарифныхСтавок
	|		ПО (ВЫБОР
	|				КОГДА ОсновноеНачисление.ПериодЗавершения <= &ДатаАктуальности
	|						И ОсновноеНачисление.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|					ТОГДА ОсновноеНачисление.ТарифныйРазряд1Завершения
	|				ИНАЧЕ ОсновноеНачисление.ТарифныйРазряд1
	|			КОНЕЦ = РазмерТарифныхСтавок.ТарифныйРазряд)
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалютДляРасчетовСПерсоналом КАК Валюты
	|		ПО (Валюты.Валюта = ВЫБОР
	|				КОГДА ОсновноеНачисление.ПериодЗавершения <= &ДатаАктуальности
	|						И ОсновноеНачисление.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|					ТОГДА ВЫБОР
	|							КОГДА ОсновноеНачисление.ВидРасчетаЗавершения.ТребуетВводаТарифногоРазряда
	|								ТОГДА РазмерТарифныхСтавок.Валюта
	|							ИНАЧЕ ОсновноеНачисление.Валюта1Завершения
	|						КОНЕЦ
	|				ИНАЧЕ ВЫБОР
	|						КОГДА ОсновноеНачисление.ВидРасчета.ТребуетВводаТарифногоРазряда
	|							ТОГДА РазмерТарифныхСтавок.Валюта
	|						ИНАЧЕ ОсновноеНачисление.Валюта1
	|					КОНЕЦ
	|			КОНЕЦ)
	|			И (Валюты.Период = &ДатаВалютногоУчета)
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	РаботникиОрганизацииСрезПоследних.Сотрудник КАК Сотрудник,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизацииСрезПоследних.ПериодЗавершения <= &ДатаАктуальности
	|				И РаботникиОрганизацииСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ВЫБОР
	|					КОГДА РаботникиОрганизацииСрезПоследних.ГрафикРаботыЗавершения.СокращенноеРабочееВремя
	|							И РаботникиОрганизацииСрезПоследних.ГрафикРаботыЗавершения.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка)
	|						ТОГДА РаботникиОрганизацииСрезПоследних.ГрафикРаботыЗавершения.ГрафикПолногоРабочегоВремени
	|					ИНАЧЕ РаботникиОрганизацииСрезПоследних.ГрафикРаботыЗавершения
	|				КОНЕЦ
	|		КОГДА РаботникиОрганизацииСрезПоследних.ГрафикРаботы.СокращенноеРабочееВремя
	|				И РаботникиОрганизацииСрезПоследних.ГрафикРаботы.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка)
	|			ТОГДА РаботникиОрганизацииСрезПоследних.ГрафикРаботы.ГрафикПолногоРабочегоВремени
	|		ИНАЧЕ РаботникиОрганизацииСрезПоследних.ГрафикРаботы
	|	КОНЕЦ КАК ГрафикРаботы,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизацииСрезПоследних.ПериодЗавершения <= &ДатаАктуальности
	|				И РаботникиОрганизацииСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ВЫБОР
	|					КОГДА РаботникиОрганизацииСрезПоследних.ГрафикРаботыЗавершения.СокращенноеРабочееВремя
	|							И РаботникиОрганизацииСрезПоследних.ГрафикРаботыЗавершения.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка)
	|						ТОГДА РаботникиОрганизацииСрезПоследних.ГрафикРаботыЗавершения.ГрафикПолногоРабочегоВремени.ДлительностьРабочейНедели
	|					ИНАЧЕ РаботникиОрганизацииСрезПоследних.ГрафикРаботыЗавершения.ДлительностьРабочейНедели
	|				КОНЕЦ
	|		КОГДА РаботникиОрганизацииСрезПоследних.ГрафикРаботы.СокращенноеРабочееВремя
	|				И РаботникиОрганизацииСрезПоследних.ГрафикРаботы.ГрафикПолногоРабочегоВремени <> ЗНАЧЕНИЕ(Справочник.ГрафикиРаботы.ПустаяСсылка)
	|			ТОГДА РаботникиОрганизацииСрезПоследних.ГрафикРаботы.ГрафикПолногоРабочегоВремени.ДлительностьРабочейНедели
	|		ИНАЧЕ РаботникиОрганизацииСрезПоследних.ГрафикРаботы.ДлительностьРабочейНедели
	|	КОНЕЦ КАК ДлительностьРабочейНедели,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизацииСрезПоследних.ПериодЗавершения <= &ДатаАктуальности
	|				И РаботникиОрганизацииСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА РаботникиОрганизацииСрезПоследних.ГрафикРаботыЗавершения.ВидГрафика
	|		ИНАЧЕ РаботникиОрганизацииСрезПоследних.ГрафикРаботы.ВидГрафика
	|	КОНЕЦ КАК ВидГрафика
	|ПОМЕСТИТЬ ВТДанныеРаботника
	|ИЗ
	|	РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаАктуальности, Сотрудник = &Сотрудник) КАК РаботникиОрганизацииСрезПоследних
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СводныеИндивидуальныеГрафики.Часов КАК Часов
	|ПОМЕСТИТЬ ВТНормаВремениПоСводнымИндивидуальнымГрафикам
	|ИЗ
	|	РегистрСведений.СводныеИндивидуальныеГрафики КАК СводныеИндивидуальныеГрафики
	|ГДЕ
	|	СводныеИндивидуальныеГрафики.Сотрудник = &Сотрудник
	|	И СводныеИндивидуальныеГрафики.Месяц = &ТекущийМесяц
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СУММА(ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение) КАК ЧасовЗаМесяц
	|ПОМЕСТИТЬ ВТНормаВремениПоЕжедневнымИндивидуальнымГрафикам
	|ИЗ
	|	РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
	|ГДЕ
	|	ГрафикиРаботыПоВидамВремени.ГрафикРаботы = &Сотрудник
	|	И ГрафикиРаботыПоВидамВремени.Месяц = &ТекущийМесяц
	|	И ГрафикиРаботыПоВидамВремени.План
	|	И ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СУММА(ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение) КАК ЧасовЗаМесяц
	|ПОМЕСТИТЬ ВТНормаВремениПоОбщимГрафикам
	|ИЗ
	|	РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
	|ГДЕ
	|	ГрафикиРаботыПоВидамВремени.ГрафикРаботы В
	|			(ВЫБРАТЬ
	|				ГрафикиНормыВремени.ГрафикРаботы
	|			ИЗ
	|				ВТДанныеРаботника КАК ГрафикиНормыВремени)
	|	И ГрафикиРаботыПоВидамВремени.Месяц = &ТекущийМесяц
	|	И ГрафикиРаботыПоВидамВремени.План
	|	И ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СУММА(ВЫБОР
	|			КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
	|				ТОГДА 1
	|			ИНАЧЕ 0
	|		КОНЕЦ) КАК ЧислоРабочихДней,
	|	СУММА(ВЫБОР
	|			КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный)
	|				ТОГДА 1
	|			ИНАЧЕ 0
	|		КОНЕЦ) КАК ЧислоПредпраздничныхДней
	|ПОМЕСТИТЬ ВТДанныеПроизводственногоКалендаря
	|ИЗ
	|	РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
	|ГДЕ
	|	РегламентированныйПроизводственныйКалендарь.Год = &Год
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СУММА(ВЫБОР
	|			КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
	|				ТОГДА 1
	|			ИНАЧЕ 0
	|		КОНЕЦ) КАК ЧислоРабочихДней,
	|	СУММА(ВЫБОР
	|			КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный)
	|				ТОГДА 1
	|			ИНАЧЕ 0
	|		КОНЕЦ) КАК ЧислоПредпраздничныхДней
	|ПОМЕСТИТЬ ВТДанныеПроизводственногоКалендаряЗаМесяц
	|ИЗ
	|	РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
	|ГДЕ
	|	НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ) = &ТекущийМесяц
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВЫБОР
	|		КОГДА ОсновноеНачисление.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоЧасовойТарифнойСтавке), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.СдельныйЗаработок))
	|			ТОГДА ОсновноеНачисление.ОкладТариф
	|		КОГДА ОсновноеНачисление.СпособРасчета В (ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоЧасам), ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоДням))
	|			ТОГДА ВЫРАЗИТЬ(ВЫБОР
	|						КОГДА ЕСТЬNULL(ВариантыВстроенныхАлгоритмовРасчетаЗарплаты.ПорядокПересчетаМесячнойСтавкиВЧасовую, ЗНАЧЕНИЕ(Перечисление.ПорядкиПересчетаМесячнойСтавкиВЧасовую.ПоСреднемуКоличествуЧасовВМесяце)) = ЗНАЧЕНИЕ(Перечисление.ПорядкиПересчетаМесячнойСтавкиВЧасовую.ПоСреднемуКоличествуЧасовВМесяце)
	|							ТОГДА ВЫБОР
	|									КОГДА ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоРабочихДней, 0) = 0
	|										ТОГДА 0
	|									КОГДА ДанныеРаботника.ДлительностьРабочейНедели = 0
	|										ТОГДА 0
	|									ИНАЧЕ ОсновноеНачисление.ОкладТариф / (ДанныеРаботника.ДлительностьРабочейНедели / 5 * (ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоРабочихДней, 0) + ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоПредпраздничныхДней, 0)) - ЕСТЬNULL(ДанныеПроизводственногоКалендаря.ЧислоПредпраздничныхДней, 0)) * 12
	|								КОНЕЦ
	|						КОГДА ВариантыВстроенныхАлгоритмовРасчетаЗарплаты.ПорядокПересчетаМесячнойСтавкиВЧасовую = ЗНАЧЕНИЕ(Перечисление.ПорядкиПересчетаМесячнойСтавкиВЧасовую.ПоМесячнойНормеПоПроизводственномуКалендарю)
	|							ТОГДА ВЫБОР
	|									КОГДА ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоРабочихДней, 0) = 0
	|										ТОГДА 0
	|									КОГДА ДанныеРаботника.ДлительностьРабочейНедели = 0
	|										ТОГДА 0
	|									ИНАЧЕ ОсновноеНачисление.ОкладТариф / (ДанныеРаботника.ДлительностьРабочейНедели / 5 * (ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоРабочихДней, 0) + ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоПредпраздничныхДней, 0)) - ЕСТЬNULL(ДанныеПроизводственногоКалендаряЗаМесяц.ЧислоПредпраздничныхДней, 0))
	|								КОНЕЦ
	|						КОГДА ВЫБОР
	|								КОГДА СводныеИндивидуальныеГрафики.Часов ЕСТЬ НЕ NULL 
	|									ТОГДА СводныеИндивидуальныеГрафики.Часов
	|								КОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.ЧасовЗаМесяц ЕСТЬ НЕ NULL 
	|									ТОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.ЧасовЗаМесяц
	|								ИНАЧЕ ЕСТЬNULL(ГрафикиРаботыПоВидамВремени.ЧасовЗаМесяц, 0)
	|							КОНЕЦ = 0
	|							ТОГДА 0
	|						ИНАЧЕ ОсновноеНачисление.ОкладТариф / ВЫБОР
	|								КОГДА СводныеИндивидуальныеГрафики.Часов ЕСТЬ НЕ NULL 
	|									ТОГДА СводныеИндивидуальныеГрафики.Часов
	|								КОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.ЧасовЗаМесяц ЕСТЬ НЕ NULL 
	|									ТОГДА НормаВремениПоЕжедневнымИндивидуальнымГрафикам.ЧасовЗаМесяц
	|								ИНАЧЕ ЕСТЬNULL(ГрафикиРаботыПоВидамВремени.ЧасовЗаМесяц, 0)
	|							КОНЕЦ
	|					КОНЕЦ КАК ЧИСЛО(15, 3))
	|		КОГДА ОсновноеНачисление.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоДневнойТарифнойСтавке)
	|			ТОГДА ВЫРАЗИТЬ(ВЫБОР
	|						КОГДА ДанныеРаботника.ДлительностьРабочейНедели = 0
	|							ТОГДА 0
	|						ИНАЧЕ ОсновноеНачисление.ОкладТариф / ДанныеРаботника.ДлительностьРабочейНедели * ВЫБОР
	|								КОГДА ДанныеРаботника.ВидГрафика = ЗНАЧЕНИЕ(Перечисление.ВидыРабочихГрафиков.Шестидневка)
	|									ТОГДА 6
	|								ИНАЧЕ 5
	|							КОНЕЦ
	|					КОНЕЦ КАК ЧИСЛО(15, 3))
	|		ИНАЧЕ 0
	|	КОНЕЦ КАК Размер
	|ИЗ
	|	ВТДанныеРаботника КАК ДанныеРаботника
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерОсновногоНачисления КАК ОсновноеНачисление
	|		ПО (ИСТИНА)
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВариантыВстроенныхАлгоритмовРасчетаЗарплаты КАК ВариантыВстроенныхАлгоритмовРасчетаЗарплаты
	|		ПО (ИСТИНА)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
	|		ПО (ИСТИНА)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеПроизводственногоКалендаряЗаМесяц КАК ДанныеПроизводственногоКалендаряЗаМесяц
	|		ПО (ИСТИНА)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаВремениПоСводнымИндивидуальнымГрафикам КАК СводныеИндивидуальныеГрафики
	|		ПО (ИСТИНА)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаВремениПоЕжедневнымИндивидуальнымГрафикам КАК НормаВремениПоЕжедневнымИндивидуальнымГрафикам
	|		ПО (ИСТИНА)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаВремениПоОбщимГрафикам КАК ГрафикиРаботыПоВидамВремени
	|		ПО (ИСТИНА)";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
			}
			return null;
		}
		// ЧасоваяТарифнаяСтавкаРаботникаОрг()
		// Возвращает значение ставки НДФЛ с доходов нерезидентов
		//
		// Параметры
		//	КодДохода - код дохода, для которого определяется ставка
		//  ДатаНалоговогоПериода - дата, определяет налоговый период, к которому относится доход
		//

		public object ЗначениеСтавкиНДФЛСНерезидента(/*КодДохода = Неопределено, ДатаНалоговогоПериода = '00010101'*/)
		{
			if(true/*КодДохода = Справочники.ДоходыНДФЛ.Код1010 И ДатаНалоговогоПериода >= '20080101'*/)
			{
				/*// с 1 января 2008 года для нерезидентов изменена ставка налогообложения дивидендов с 30% до 15%
*/
			}
			return null;
		}
		// Определяет значение ставки налога для СтавкиНалоообложенияРезидента
		// Параметры:
		//  СтавкаНалогообложенияРезидента - ссылка на перечисление "НДФЛСтавкиНалогообложенияРезидента"
		// Возвращаемое значение:
		//  число - ставка налога в процентах

		public object ЗначениеСтавкиНДФЛотСтавкиНалогообложенияРезидента(/*СтавкаНалогообложенияРезидента*/)
		{
			if(true/*СтавкаНалогообложенияРезидента = Перечисления.НДФЛСтавкиНалогообложенияРезидента.Ставка13*/)
			{
			}
			return null;
		}
		// Выделяет из кода элемента адресного классификатора код региона (24 и 25 цифры кода)
		//
		// Параметры
		//  КодАдресногоЭлемента  – Строка – код элемента  адресного классификатора
		//
		// Возвращаемое значение:
		//   Строка   – код региона РФ
		//

		public object ПолучитьКодРегионаРФИзКодаАдресногоЭлемента(/*КодАдресногоЭлемента*/)
		{
			//СтрКодАдрЭлемента = Формат(КодАдресногоЭлемента, "ЧГ=0");
			if(true/*СтрКодАдрЭлемента = ""*/)
			{
			}
			//КодРегиона = Лев(СтрКодАдрЭлемента, СтрДлина(СтрКодАдрЭлемента) - 23);
			/*// Код региона должен состоять из 2 цифр. Например: 03, 77
*/
			return null;
		}
		// Заполняет реквизит "КраткийСоставДокумента" документа по его табличным частям.
		//
		// Параметры
		//  ТЧДокумента					– табличная часть документа по которой происходит заполнение реквизита
		//  ДополнительнаяТЧДокумента	- табличная часть документа, как правило это ТЧ с дополнительными начислениями
		//
		// Возвращаемое значение:
		//   строка, значение реквизита "КраткийСоставДокумента".
		//

		public object ЗаполнитьКраткийСоставДокумента(/*ТЧДокумента, ИмяРеквизита = "Сотрудник"*/)
		{
			//КраткийСоставДокумента = "";
			//КоличествоТЧ = 1;
			//КраткийСоставДокументаЗаполнен = Ложь;
			if(true/*Лев(КраткийСоставДокумента,2) = ", "*/)
			{
				//ДлинаСтроки = СтрДлина(КраткийСоставДокумента);
				if(true/*ДлинаСтроки < 100*/)
				{
					//КраткийСоставДокумента = Сред(КраткийСоставДокумента,3);
				}
			}
			return null;
		}
		// ЗаполнитьКраткийСоставДокумента()
		// Функция формирует наименовние элемента справочника СотрудникиОрганизаций
		//
		// Параметры
		//  <Физлицо>  – <СправочникСсылка.ФизическиеЛица> – физлицо
		//  <Постфикс>  – <Строка> – постфикс наименования сотрудника
		//
		// Возвращаемое значение:
		//   <Строка>   – наименование сотрудника
		//

		public object УстановитьНаименованиеСотрудника(/*Физлицо, Постфикс*/)
		{
			return null;
		}
		// УстановитьНаименованиеСотрудника()
		// Функция определяет пол физлица по его отчеству
		//

		public object ПолучитьПол(/*ОтчествоРаботника*/)
		{
			if(true/*Прав(ОтчествоРаботника, 2) = "ич"*/)
			{
			}
			return null;
		}
		// ПолучитьПол()
		// Получение значения учетной политики по персоналу
		// Если в соответствии по данной организации нет политики - пытаемся прочитать ее из ИБ, если там нет -
		// она добавляется как политика по умолчанию
		//
		// Параметры:
		//
		//  УчетнаяПолитика - соответствие политик по организациям
		//  Организация - ссылка на организацию
		//  ИмяПолитики - название получаемой учетной политики
		//

		public object ЗначениеУчетнойПолитикиПоПерсоналуОрганизации(/*УчетнаяПолитика, Организация, ИмяПолитики*/)
		{
			if(true/*УчетнаяПолитика[Организация] = Неопределено*/)
			{
				//Выборка = ОбщегоНазначенияЗК.ДанныеУчетнойПолитикиПоПерсоналуОрганизации(Организация).Выбрать();
				if(true/*Выборка.Следующий()*/)
				{
					//Политика = ОбщегоНазначенияЗК.УчетнаяПолитикаПоПерсоналуОрганизацииПоУмолчанию();
					//ЗаполнитьЗначенияСвойств(Политика, Выборка);
					//УчетнаяПолитика.Вставить(Организация, Политика);
				}
			}
			return null;
		}
		// ЗначениеУчетнойПолитикиПоПерсоналуОрганизации()
		// Получение значения учетной политики по персоналу
		//
		// Параметры:
		//
		//  УчетнаяПолитика - соответствие политик по организациям
		//  ИмяПолитики - название получаемой учетной политики
		//

		public object ЗначениеУчетнойПолитикиПоПерсоналуВсехОрганизаций(/*УчетнаяПолитика, ИмяПолитики*/)
		{
			if(true/*УчетнаяПолитика["ВсеОрганизации"] = Неопределено*/)
			{
				/*Запрос = Новый Запрос(
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.ПроверкаПериодовНачисления, ЛОЖЬ)) КАК ПроверкаПериодовНачисления,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоПерсоналуОрганизаций.ЕдиныйНумераторКадровыхДокументов, ЛОЖЬ)) КАК ЕдиныйНумераторКадровыхДокументов,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоПерсоналуОрганизаций.КонтрольКоличестваСтавокШтатногоРасписания, ЛОЖЬ)) КАК КонтрольКоличестваСтавокШтатногоРасписания,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоПерсоналуОрганизаций.КонтрольРазмераСтавокШтатногоРасписания, ЛОЖЬ)) КАК КонтрольРазмераСтавокШтатногоРасписания,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.РасчетЗарплатыОрганизацииПоОтветственным, ЛОЖЬ)) КАК РасчетЗарплатыОрганизацииПоОтветственным,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.ИспользуютсяНачисленияВВалюте, ЛОЖЬ)) КАК ИспользуютсяНачисленияВВалюте,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.УпрощенныйУчетНДФЛ, ЛОЖЬ)) КАК УпрощенныйУчетНДФЛ,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.НеУменьшатьПропорциональныеПремии, ЛОЖЬ)) КАК НеУменьшатьПропорциональныеПремии,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоПерсоналуОрганизаций.ПоказыватьТабельныеНомераВДокументах, ЛОЖЬ)) КАК ПоказыватьТабельныеНомераВДокументах,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.УчетЗадолженностиПоМесяцам, ИСТИНА)) КАК УчетЗадолженностиПоМесяцам,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоПерсоналуОрганизаций.ПроставлятьАвтоматическиДатуОзнакомленияВКадровыхПриказах, ЛОЖЬ)) КАК ПроставлятьАвтоматическиДатуОзнакомленияВКадровыхПриказах,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.УпрощенныйУчетВзаиморасчетов, ИСТИНА)) КАК УпрощенныйУчетВзаиморасчетов,
		|	МАКСИМУМ(ЕСТЬNULL(УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.УчитыватьНевыходыДляПлановогоАванса, ИСТИНА)) КАК УчитыватьНевыходыДляПлановогоАванса,
		|	МАКСИМУМ(Константы.ИспользуетсяТрудЧленовЭкипажейМорскихСудов) КАК ИспользуетсяТрудЧленовЭкипажейМорскихСудов,
		|	МАКСИМУМ(Константы.ИспользуетсяТрудРаботающихВСтудотряде) КАК ИспользуетсяТрудРаботающихВСтудотряде,
		|	МАКСИМУМ(Константы.ИспользуетсяТрудФармацевтов) КАК ИспользуетсяТрудФармацевтов,
		|	МАКСИМУМ(Константы.ИспользуетсяТрудЧленовЛетныхЭкипажей) КАК ИспользуетсяТрудЧленовЛетныхЭкипажей,
		|	МАКСИМУМ(Константы.ИспользуетсяТрудШахтеров) КАК ИспользуетсяТрудШахтеров
		|ИЗ
		|	Справочник.Организации КАК Организации
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоПерсоналуОрганизаций КАК УчетнаяПолитикаПоПерсоналуОрганизаций
		|		ПО (ВЫБОР
		|				КОГДА Организации.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
		|					ТОГДА Организации.Ссылка
		|				ИНАЧЕ Организации.ГоловнаяОрганизация
		|			КОНЕЦ = УчетнаяПолитикаПоПерсоналуОрганизаций.Организация)
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций КАК УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций
		|		ПО (ВЫБОР
		|				КОГДА Организации.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
		|					ТОГДА Организации.Ссылка
		|				ИНАЧЕ Организации.ГоловнаяОрганизация
		|			КОНЕЦ = УчетнаяПолитикаПоРасчетуЗарплатыОрганизаций.Организация)
		|		ЛЕВОЕ СОЕДИНЕНИЕ Константы КАК Константы
		|		ПО (ИСТИНА)");*/
				//Выборка = Запрос.Выполнить().Выбрать();
				if(true/*Выборка.Следующий()*/)
				{
					//Политика = ОбщегоНазначенияЗК.УчетнаяПолитикаПоПерсоналуОрганизацииПоУмолчанию();
					//ЗаполнитьЗначенияСвойств(Политика, Выборка);
					//УчетнаяПолитика.Вставить("ВсеОрганизации", Политика);
				}
			}
			return null;
		}
		// ЗначениеУчетнойПолитикиПоПерсоналуОрганизации()
		// Проверяет, заполнен ли регламентированный производственный календарь за переданный период
		//
		// Параметры
		//  ДатаНач, ДатаКон - дата, определяют проверяемый период
		//  ТекстСообщенияОбОшибке - строка
		//
		// Возвращаемое значение:
		//   Булево  - если колендарь заполнен за весь период
		//   дополнительно возвращается описание незаполненных лет - в параметр ТекстСообщенияОбОшибке
		//

		public object РегламентированныйКалендарьЗаполнен(/*ДатаНач, ДатаКон, ТекстСообщенияОбОшибке*/)
		{
			//ТекстЛет = "ВЫБРАТЬ " + Символы.ПС + Символы.Таб + Формат(ДатаНач,"ДФ=yyyy; ДП='0'") + " КАК Год";
			//ТекущийГод = Год(ДатаНач) + 1;
			while(true/*ТекущийГод <= Год(ДатаКон)*/)
			{
				//ТекстЛет = ТекстЛет + Символы.ПС + Символы.Таб + "Объединить" + Символы.ПС + "ВЫБРАТЬ " + Символы.ПС + Символы.Таб + Формат(ТекущийГод,"ЧГ=0");
				//ТекущийГод = ТекущийГод + 1;
			}
			/*;
	
	Запрос = Новый Запрос();*/
			/*ТекстЗапроса = 
		"ВЫБРАТЬ
		|	ГодыПериода.Год,
		|	ДатыКалендаря.КоличествоДней
		|ИЗ
		|	(" + ТекстЛет + ") КАК ГодыПериода
		|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
		|			КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) КАК КоличествоДней,
		|			РегламентированныйПроизводственныйКалендарь.Год КАК Год
		|		ИЗ
		|			РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
		|		
		|		ГДЕ
		|			РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаС И &ДатаПо
		|		
		|		СГРУППИРОВАТЬ ПО
		|			РегламентированныйПроизводственныйКалендарь.Год) КАК ДатыКалендаря
		|		ПО ГодыПериода.Год = ДатыКалендаря.Год";*/
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("ДатаПо", КонецДня(ДатаКон));
			//Запрос.УстановитьПараметр("ДатаС", ДатаНач);
			//Выборка = Запрос.Выполнить().Выбрать();
			//КалендарьЗаполнен = Истина;
			//ТекстСообщенияОбОшибке = "";
			while(true/*Выборка.Следующий()*/)
			{
				if(true/*Выборка.КоличествоДней = Null*/)
				{
					//ТекстСообщенияОбОшибке = ТекстСообщенияОбОшибке + ?(КалендарьЗаполнен,"",", ") + Формат(Выборка.Год,"ЧГ=0");
					//КалендарьЗаполнен = Ложь;
				}
			}
			/*;
	ТекстСообщенияОбОшибке = "Перед формированием отчета заполните ""Регламентированный производственный календарь"" за " + ТекстСообщенияОбОшибке + ?(Найти(ТекстСообщенияОбОшибке,",")=0," год!"," годы!");*/
			return null;
		}
		// РегламентированныйКалендарьЗаполнен()

		public void ПриКопированииДокументаДанныеПрошлойВерсии(/*Источник, ОбъектКопирования*/)
		{
			//Источник.ДанныеПрошлойВерсии = Ложь;
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОТКРЫТИЯ ФОРМ ОБЪЕКТОВ
		// Открывает форму обработки для подготовки списка работников, отобранного по указанным пользователем критериям
		//
		// Владелец - форма, для которой требуется вызвать обработку
		// ДатаАктуальности - дата, по состоянию на которую осматривается список работников
		// ИмяРегистра - строка, возможны 2 значения - "РаботникиОрганизаций" или "Работники" - определяет
		//               какие работники будут отбираться - по регл. или по упр. учету
		// Организация - ссылка на организацию (может быть в том числе обособленным подразделением), если передана пустая ссылка, выбираются
		//					работники всех организаций
		// Подразделение - ссылка на подразделение, если передана пустая ссылка, выбираются
		//					работники всех подразделений
		//

		public void ОткрытьФормуОтбораСпискаРаботников(/*Владелец, ДатаАктуальности, ИмяРегистра = "РаботникиОрганизаций", Организация = Неопределено, Подразделение = Неопределено, ИсполнятьЗапрос = Истина, ВыбиратьСотрудника = Истина, ИменаСтраницФормы = Неопределено, Реквизиты = Неопределено, ДатаУволенных = Неопределено, ВключатьУволенных = Ложь, ВключатьДоговорников = Ложь, НеПоказыватьУволенных = Ложь, ОпределятьДатыПриемаУвольнения = Ложь*/)
		{
			if(true/*ИмяРегистра = "РаботникиОрганизаций" И НЕ ЗначениеЗаполнено(Организация)*/)
			{
				//Предупреждение(ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("Не указана организация, отобрать список сотрудников невозможно!"));
			}
			//ФормированиеСпискаРаботников = Обработки.ФормированиеСпискаРаботников.Создать();
			//ФормированиеСпискаРаботников.ИмяРегистра			= ИмяРегистра;
			//ФормированиеСпискаРаботников.ДатаАктуальности		= ДатаАктуальности;
			//ФормированиеСпискаРаботников.ДатаУволенных			= ?(ДатаУволенных = Неопределено, НачалоГода(ДатаАктуальности), ДатаУволенных);
			//ФормированиеСпискаРаботников.ИсполнятьЗапрос		= ИсполнятьЗапрос;
			//ФормированиеСпискаРаботников.ВыбиратьСотрудника		= ВыбиратьСотрудника;
			//ФормированиеСпискаРаботников.ВключатьДоговорников	= ВключатьДоговорников;
			//ФормированиеСпискаРаботников.Реквизиты				= Реквизиты;
			//ФормированиеСпискаРаботников.ВключатьУволенных	    = ВключатьУволенных;
			//ФормированиеСпискаРаботников.ОпределятьДатыПриемаУвольнения = ОпределятьДатыПриемаУвольнения;
			/*// подготовим Построитель отчета к работе
*/
			//ФормированиеСпискаРаботников.ЗаполнитьНачальныеНастройки();
			//СтруктураНедоступныхОтборов = Новый Структура;
			if(true/*ИмяРегистра = "РаботникиОрганизаций"*/)
			{
				if(true/*ФормированиеСпискаРаботников.ПостроительОтчета.Отбор.Количество() = 0*/)
				{
					//ФормированиеСпискаРаботников.ЗаполнитьНачальныеНастройки();
				}
				/*// Переданную организацию пропишем независимо от сохраненных ранее настроек отбора
*/
				if(true/*ФормированиеСпискаРаботников.ПостроительОтчета.Отбор.Найти("ОбособленноеПодразделение") = Неопределено*/)
				{
					//ФормированиеСпискаРаботников.ПостроительОтчета.Отбор.Добавить("ОбособленноеПодразделение");
				}
				//ФормированиеСпискаРаботников.ПостроительОтчета.Отбор.ОбособленноеПодразделение.Установить(Организация,);
				//ФормированиеСпискаРаботников.ПостроительОтчета.Параметры.Вставить("ГоловнаяОрганизация", ОбщегоНазначения.ГоловнаяОрганизация(Организация));
				//СтруктураНедоступныхОтборов.Вставить("ОбособленноеПодразделение");
			}
			if(true/*ЗначениеЗаполнено(Подразделение)*/)
			{
				if(true/*ФормированиеСпискаРаботников.ПостроительОтчета.Отбор.Найти("Подразделение") = Неопределено*/)
				{
					//ФормированиеСпискаРаботников.ПостроительОтчета.Отбор.Добавить("Подразделение");
				}
				//ФормированиеСпискаРаботников.ПостроительОтчета.Отбор.Подразделение.Значение = Подразделение;
				//ФормированиеСпискаРаботников.ПостроительОтчета.Отбор.Подразделение.Использование = Истина;
				//ФормированиеСпискаРаботников.ПостроительОтчета.Отбор.Подразделение.ВидСравнения = ВидСравнения.ВИерархии;
				//СтруктураНедоступныхОтборов.Вставить("Подразделение");
			}
			/*// Теперь откроем подготовленную форму
*/
			//Форма = ФормированиеСпискаРаботников.ПолучитьФорму("ФормаНастройки",Владелец);
			//Форма.мСтруктураНедоступныхОтборов = СтруктураНедоступныхОтборов;
			if(true/*Реквизиты <> Неопределено*/)
			{
				//ЗаполнитьЗначенияСвойств(Форма,Реквизиты);
			}
			if(true/*ИменаСтраницФормы = Неопределено*/)
			{
				/*// страницу дополнительных данных не показываем
*/
				//Форма.ЭлементыФормы.ПанельСтраницы.Свертка = РежимСверткиЭлементаУправления.Низ;
			}
			if(true/*НеПоказыватьУволенных*/)
			{
				//Форма.ЭлементыФормы.ПанельВключатьУволенных.Свертка = РежимСверткиЭлементаУправления.Верх;
			}
			//Форма.ОткрытьМодально();
		}
		// ОткрытьФормуОтбораСпискаРаботников()
		// Процедура открывает форму обработки НастройкаПараметровУчета на нужной странице
		//
		// Параметры
		//		ИмяСтраницы - строка с именем страницы, на которой необходимо открыть форму
		//		СтруктураПараметрыФормы - структура, содержит параметры которые необходимо передать в форму
		//					или значения реквизитов обработки.
		//					Ключ - имя реквизита формы или экспортной переменной, значение - его значение
		//

		public void ОткрытьФормуНастройкаПараметровУчета(/*ИмяСтраницы = Неопределено, СтруктураПараметрыФормы = Неопределено*/)
		{
			if(true/*ИмяСтраницы = Неопределено*/)
			{
			}
			if(true/*ИмяСтраницыФормы = Неопределено*/)
			{
			}
			if(true/*ИмяСтраницыФормы = "НалоговыйУчет"*/)
			{
				//Запрос = Новый Запрос;
				/*Запрос.Текст = 
        "ВЫБРАТЬ
        |   УчетнаяПолитикаОрганизацийСрезПоследних.Период
        |ИЗ
        |   РегистрСведений.УчетнаяПолитикаОрганизаций.СрезПоследних(&Период, Организация = &Организация) КАК УчетнаяПолитикаОрганизацийСрезПоследних";*/
				//Запрос.УстановитьПараметр("Период", Дата(СтруктураПараметрыФормы.Год,1,1));
				//Запрос.УстановитьПараметр("Организация", СтруктураПараметрыФормы.Организация);
				//Выборка = Запрос.Выполнить().Выбрать();
				if(true/*Выборка.Следующий()*/)
				{
					//ДатаЗаписи = Выборка.Период;
				}
				//МенеджерЗаписи = РегистрыСведений.УчетнаяПолитикаОрганизаций.СоздатьМенеджерЗаписи();
				//МенеджерЗаписи.Организация = СтруктураПараметрыФормы.Организация;
				//МенеджерЗаписи.Период =  ДатаЗаписи;
				//МенеджерЗаписи.Прочитать();
				//Форма = МенеджерЗаписи.ПолучитьФорму("ФормаЗаписи",,"КлючОткрытойФормы");
				//Форма.Открыть();
			}
		}
		// Процедура открывает форму обработки НастройкаПрограммы на нужной странице
		//
		// Параметры
		//		ИмяСтраницы - строка с именем страницы, на которой необходимо открыть форму
		//		СтруктураПараметрыФормы - структура, содержит параметры которые необходимо передать в форму
		//					или значения реквизитов обработки.
		//					Ключ - имя реквизита формы или экспортной переменной, значение - его значение
		//

		public void ОткрытьФормуНастройкаПрограммы(/*ИмяСтраницы = Неопределено, СтруктураПараметрыФормы = Неопределено*/)
		{
			if(true/*ИмяСтраницы = Неопределено*/)
			{
			}
			if(true/*ИмяСтраницыФормы = Неопределено*/)
			{
			}
			//Форма = Обработки.НастройкиПрограммы.ПолучитьФорму("НастройкаПрограммы");
			if(true/*СтруктураПараметрыФормы <> Неопределено*/)
			{
				//ЗаполнитьЗначенияСвойств(Форма, СтруктураПараметрыФормы);
			}
			//Форма.Открыть();
			if(true/*Форма.Открыта()*/)
			{
				//Форма.ЭлементыФормы.ПанельРазделов.ТекущаяСтраница = Форма.ЭлементыФормы.ПанельРазделов.Страницы.Найти(ИмяСтраницыФормы);
			}
		}
		////////////////////////////////////////////////////////////////////////////////
		// ГОЛОВНЫЕ ОРГАНИЗАЦИИ И ОБОСОБЛЕННЫЕ ПОДРАЗДЕЛЕНИЯ
		// Формирует список головных организаций предприятия

		public object ПолучитьСписокГоловныхОрганизаций(/**/)
		{
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	Организации.Ссылка,
	|	Организации.Наименование КАК Наименование
	|ИЗ
	|	Справочник.Организации КАК Организации
	|ГДЕ
	|	Организации.ГоловнаяОрганизация = &ПустаяОрганизация
	|
	|ОБЪЕДИНИТЬ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Организации.ГоловнаяОрганизация,
	|	Организации.ГоловнаяОрганизация.Наименование
	|ИЗ
	|	Справочник.Организации КАК Организации
	|ГДЕ
	|	Организации.ГоловнаяОрганизация <> &ПустаяОрганизация
	|
	|УПОРЯДОЧИТЬ ПО
	|	Наименование");*/
			//Запрос.УстановитьПараметр("ПустаяОрганизация", Справочники.Организации.ПустаяСсылка());
			//СписокОрганизаций = Новый СписокЗначений;
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//СписокОрганизаций.Добавить(Выборка.Ссылка, Выборка.Наименование);
			}
			return null;
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ОБЕСПЕЧЕНИЯ РАБОТЫ ФОРМ ДОКУМЕНТОВ
		// Функция выполняет поиск сотрудников физического лица и, ранжируя их,
		// выбирает "основного" сотрудника организации
		// Используется для отображения сотрудника в формах документов, не имеющих реквизита Сотрудник
		//
		// Параметры:
		// 	- Физлицо
		// 	- ГоловнаяОрганизация
		//
		// Возвращаемое значение
		//	- Сотрудник, Неопределено (если сотрудник не найден)
		//

		public object ОсновнойСотрудникФизлица(/*Физлицо, ГоловнаяОрганизация*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Физлицо",				Физлицо);
			//Запрос.УстановитьПараметр("ГоловнаяОрганизация",	ГоловнаяОрганизация);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	СотрудникиОрганизаций.Ссылка,
	|	ВЫБОР
	|		КОГДА (НЕ СотрудникиОрганизаций.Актуальность)
	|			ТОГДА 3
	|		КОГДА СотрудникиОрганизаций.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
	|			ТОГДА 1
	|		ИНАЧЕ 2
	|	КОНЕЦ КАК Порядок
	|ИЗ
	|	Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
	|ГДЕ
	|	(СотрудникиОрганизаций.ВидДоговора <> ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
	|			ИЛИ СотрудникиОрганизаций.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство))
	|	И СотрудникиОрганизаций.Физлицо = &Физлицо
	|	И (СотрудникиОрганизаций.Организация = &ГоловнаяОрганизация
	|			ИЛИ &ГоловнаяОрганизация В (НЕОПРЕДЕЛЕНО, ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)))
	|
	|УПОРЯДОЧИТЬ ПО
	|	Порядок";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
			}
			return null;
		}
		// ОсновнойСотрудникФизлица
		// Обеспечивает подбор данных по сотруднику
		// подбираются подразделение и должность
		// Параметры:
		//	Форма - форма в которой производится подбор данных
		//	ЭлементФормы - элементы формы в которой производится подбор данных
		//	Физлицо
		//
		// ВозвращаемоеЗначение - строка таблицы значений или Неопределено,
		// если подбор данных не состоялся
		// Поля строки таблицы значений:
		//		ПодразделениеОрганизации
		//		Должность
		//

		public object ПодборДанныхПоФизлицу(/*Форма, ЭлементФормы, Физлицо, Организация, ДатаСобытия, ПредлагатьВыбор = Ложь*/)
		{
			//Запрос = Новый Запрос();
			//Запрос.УстановитьПараметр("Физлицо", Физлицо);
			//Запрос.УстановитьПараметр("Организация", Организация);
			//Запрос.УстановитьПараметр("парамДатаСобытия", ДатаСобытия);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	РаботникиОрганизации.Сотрудник КАК Сотрудник,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамДатаСобытия
	|				И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА РаботникиОрганизации.ПодразделениеОрганизацииЗавершения
	|		ИНАЧЕ РаботникиОрганизации.ПодразделениеОрганизации
	|	КОНЕЦ КАК ПодразделениеОрганизации,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамДатаСобытия
	|				И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА РаботникиОрганизации.ДолжностьЗавершения
	|		ИНАЧЕ РаботникиОрганизации.Должность
	|	КОНЕЦ КАК Должность,
	|	РаботникиОрганизации.Сотрудник.Наименование КАК СотрудникНаименование,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамДатаСобытия
	|				И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА РаботникиОрганизации.ПодразделениеОрганизацииЗавершения.Наименование
	|		ИНАЧЕ РаботникиОрганизации.ПодразделениеОрганизации.Наименование
	|	КОНЕЦ КАК ПодразделениеОрганизацииНаименование,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамДатаСобытия
	|				И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА РаботникиОрганизации.ДолжностьЗавершения.Наименование
	|		ИНАЧЕ РаботникиОрганизации.Должность.Наименование
	|	КОНЕЦ КАК ДолжностьНаименование
	|ИЗ
	|	РегистрСведений.РаботникиОрганизаций.СрезПоследних(
	|		&парамДатаСобытия,
	|		Сотрудник.Физлицо = &Физлицо
	|			И Сотрудник.Организация = &Организация) КАК РаботникиОрганизации
	|
	|УПОРЯДОЧИТЬ ПО
	|	РаботникиОрганизации.Период";*/
			//НаборыДанных = Запрос.Выполнить().Выгрузить();
			if(true/*НаборыДанных.Количество() = 0*/)
			{
				/*// Если не нашли данных - ничего не делаем
*/
			}
			return null;
		}
		// ПодборДанныхПоФизлицу()
		// проставляет в строку табличной части или реквизит формы полученные данные по Сотруднику
		//

		public void ПроставитьДанныеСтроки(/*Сотрудник, ДатаСобытия, ЭлементФормы*/)
		{
			if(true/*ТипЗнч(ЭлементФормы) <> Тип("ТабличноеПоле")*/)
			{
			}
			/*// скорректируем даты заполнения датами приема увольнения сотрудника
*/
			//СкорректированнаяДатаНачала = Неопределено;
			if(true/*ЭлементФормы.Колонки.Найти("ДатаНачала") <> Неопределено 
		И ЭлементФормы.Колонки.Найти("ДатаОкончания") <> Неопределено*/)
			{
				//ТекущиеДанные = ЭлементФормы.ТекущиеДанные;
				if(true/*ТекущиеДанные <> Неопределено*/)
				{
					//ДатыПриемаУвольнения = ОбщегоНазначения.ПолучитьЗначенияРеквизитов(Сотрудник, "ДатаПриемаНаРаботу,ДатаУвольнения");
					/*// корректируем дату, только она заполнена
*/
					if(true/*ЗначениеЗаполнено(ТекущиеДанные.ДатаНачала)*/)
					{
						/*// если дата начала начисления заполнена и раньше, чем сотрудника приняли на работу
*/
						if(true/*ТекущиеДанные.ДатаНачала < ДатыПриемаУвольнения.ДатаПриемаНаРаботу*/)
						{
							/*// если сотрудник принят в текущем месяце, 
*/
							/*// просто "сдвигаем" дату начала, 
*/
							if(true/*ДатыПриемаУвольнения.ДатаПриемаНаРаботу < КонецМесяца(ТекущиеДанные.ДатаНачала)*/)
							{
								//ТекущиеДанные.ДатаНачала = ДатыПриемаУвольнения.ДатаПриемаНаРаботу;
								//СкорректированнаяДатаНачала = ДатыПриемаУвольнения.ДатаПриемаНаРаботу;
							}
							/*// скорректируем и дату начала события
*/
							if(true/*ЭлементФормы.Колонки.Найти("ДатаНачалаСобытия") <> Неопределено*/)
							{
								//ТекущиеДанные.ДатаНачалаСобытия = СкорректированнаяДатаНачала;
							}
						}
					}
					/*// корректируем дату окончания, только она заполнена
*/
					if(true/*ЗначениеЗаполнено(ТекущиеДанные.ДатаОкончания)*/)
					{
						/*// если дата начала начисления заполнена и позже, чем сотрудника уволили
*/
						if(true/*ТекущиеДанные.ДатаОкончания > ДатыПриемаУвольнения.ДатаУвольнения*/)
						{
							/*// если сотрудник принят в текущем месяце, 
*/
							/*// просто "сдвигаем" дату начала, 
*/
							if(true/*ДатыПриемаУвольнения.ДатаУвольнения > НачалоМесяца(ТекущиеДанные.ДатаОкончания)*/)
							{
								//ТекущиеДанные.ДатаОкончания = ДатыПриемаУвольнения.ДатаУвольнения;
							}
							/*// или ничего не делаем, если он уволен до начала этого месяца
*/
						}
						/*// если дата окончания оказалась раньше даты начала - корректируем
*/
						if(true/*ТекущиеДанные.ДатаОкончания < ТекущиеДанные.ДатаНачала*/)
						{
							if(true/*СкорректированнаяДатаНачала = Неопределено*/)
							{
								//ТекущиеДанные.ДатаНачала = ТекущиеДанные.ДатаОкончания;
								//СкорректированнаяДатаНачала = ТекущиеДанные.ДатаНачала;
								/*// скорректируем и дату начала события
*/
								if(true/*ЭлементФормы.Колонки.Найти("ДатаНачалаСобытия") <> Неопределено*/)
								{
									//ТекущиеДанные.ДатаНачалаСобытия = СкорректированнаяДатаНачала;
								}
							}
						}
						/*// если дата начала скорректирована, дату окончания надо проверить
*/
						if(true/*СкорректированнаяДатаНачала <> Неопределено И ТекущиеДанные.ДатаОкончания < СкорректированнаяДатаНачала*/)
						{
							//ТекущиеДанные.ДатаОкончания = СкорректированнаяДатаНачала;
						}
					}
				}
			}
			/*// заполним подразделение и должность
*/
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	РаботникиОрганизации.Сотрудник КАК Сотрудник,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамДатаСобытия
	|				И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|		ТОГДА РаботникиОрганизации.ПодразделениеОрганизацииЗавершения
	|		ИНАЧЕ РаботникиОрганизации.ПодразделениеОрганизации
	|	КОНЕЦ КАК ПодразделениеОрганизации,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамДатаСобытия
	|				И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|		ТОГДА РаботникиОрганизации.ДолжностьЗавершения
	|		ИНАЧЕ РаботникиОрганизации.Должность 
	|	КОНЕЦ КАК Должность
	|ИЗ
	|	РегистрСведений.РаботникиОрганизаций.СрезПоследних(&парамДатаСобытия, Сотрудник = &Сотрудник) КАК РаботникиОрганизации");*/
			//Запрос.УстановитьПараметр("Сотрудник", Сотрудник);
			//Запрос.УстановитьПараметр("парамДатаСобытия", ?(СкорректированнаяДатаНачала <> Неопределено, СкорректированнаяДатаНачала, ДатаСобытия));
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
				/*// поле ПодразделениеОрганизации есть не во всех табличных частях
*/
				if(true/*ЭлементФормы.Колонки.Найти("ПодразделениеОрганизации") <> Неопределено*/)
				{
					//ЭлементФормы.ТекущаяСтрока.ПодразделениеОрганизации = Выборка.ПодразделениеОрганизации;
				}
				/*// поле Должность есть не во всех табличных частях
*/
				if(true/*ЭлементФормы.Колонки.Найти("Должность") <> Неопределено*/)
				{
					//ЭлементФормы.ТекущаяСтрока.Должность = Выборка.Должность;
				}
			}
		}
		// ПроставитьДанныеСтроки()
		// процедура устанавливает текущую строку в табличных полях формы
		// объекта, связанных с табличными частями объекта
		// предположения:
		// все табличные части и соответсвующие им табличные поля - одноименны
		// все "синхронизируемые" табличные части имеют колонку с одинаковым
		// именем по которой ведется синхронизация
		//
		// Параметры:
		// 	Форма - форма объекта
		//  Объект - объект данных
		//  Элемент - элемент формы в котором возникла активизация строки
		//  СинхронизируемыеТабличныеЧасти - соответствие с
		//  			элементами, соответствующими синхронизируемым табличным полям
		//  ИмяКолонки - имя колнки синхронизации

		public void СинхронизироватьСтроки(/*Форма, Объект, Элемент, СинхронизируемыеТабличныеЧасти, ИмяКолонки*/)
		{
			if(true/*Элемент.ТекущиеДанные = Неопределено*/)
			{
			}
			//Имя = Элемент.Имя;
			if(true/*СинхронизируемыеТабличныеЧасти[Имя]*/)
			{
			}
			if(true/*Элемент.Колонки.Найти(ИмяКолонки) = Неопределено*/)
			{
			}
			//СтруктураПоиска = Новый Структура;
			//СтруктураПоиска.Вставить(ИмяКолонки, Элемент.ТекущиеДанные[ИмяКолонки]);
			if(true/*Элемент.Колонки.Найти("Сторно") <> Неопределено*/)
			{
				//СтруктураПоиска.Вставить("Сторно", Элемент.ТекущиеДанные.Сторно);
			}
		}
		//  СинхронизироватьСтроки
		// Процедура строит список должностей (или подразделений), по штатному расписанию организации.
		//
		// Параметры:
		//  Режим - строка, может принимать значения: "Должность" или "ПодразделениеОрганизации"
		//			определяет, что именно будет выбирать пользователь
		//  ДолжностьИлиПодразделениеОрганизации - СправочникСсылка.ПодразделенияОрганизаций или
		//          СправочникСсылка.ДолжностиОрганизаций, второе значение в текущей строке т.п.
		//
		// Возвращаемое значение
		//  нет
		//

		public object ВыбратьИзШтатногоРасписанияОрганизации(/*Режим, Организация, ДолжностьИлиПодразделениеОрганизации, ДатаАктуальности = Неопределено*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(Организация) ИЛИ НЕ ЗначениеЗаполнено(ДолжностьИлиПодразделениеОрганизации)*/)
			{
			}
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Владелец", Организация);
			//Запрос.УстановитьПараметр("ДолжностьИлиПодразделениеОрганизации", ДолжностьИлиПодразделениеОрганизации);
			//Запрос.УстановитьПараметр("ДатаАктуальности", ДатаАктуальности);
			if(true/*Режим = "ПодразделениеОрганизации"*/)
			{
				/*ТекстЗапроса = 
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
		|	ШтатноеРасписаниеОрганизацийСрезПоследних.ПодразделениеОрганизации КАК Элемент,
		|	ШтатноеРасписаниеОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК ЭлементНаименование
		|ИЗ
		|	РегистрСведений.ШтатноеРасписаниеОрганизаций.СрезПоследних(&ДатаАктуальности, ПодразделениеОрганизации.Владелец = &Владелец) КАК ШтатноеРасписаниеОрганизацийСрезПоследних
		|ГДЕ
		|	ШтатноеРасписаниеОрганизацийСрезПоследних.Должность = &ДолжностьИлиПодразделениеОрганизации
		|	И ШтатноеРасписаниеОрганизацийСрезПоследних.КоличествоСтавок > 0";*/
			}
			//Запрос.Текст = ТекстЗапроса;
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			//Выборка = РезультатЗапроса.Выбрать();
			//СписокВыбора = Новый СписокЗначений();
			while(true/*Выборка.Следующий()*/)
			{
				//СписокВыбора.Добавить(Выборка.Элемент, Выборка.ЭлементНаименование);
			}
			return null;
		}
		// ВыбратьИзШтатногоРасписанияОрганизации

		public void ОбработкаВыбораТабличнойЧастиСЗаполнениемПоказателейРасчета(/*ВыбранноеЗначение, ТабличнаяЧасть*/)
		{
		}
		//ОбработкаВыбораТабличнойЧастиСЗаполнениемПоказателейРасчета

		public void ОткрытьФормуВыбораСотрудникаОрганизацииСПоказателями(/*МДРеквизиты, ЭлементыФормы, Ссылка, Дата, ГоловнаяОрганизация, ТабличнаяЧасть, ИмяТЧ, ЕстьТРиВалюта, НаименованиеПоказатель, МассивПоказателей = Неопределено*/)
		{
			//РеквизитыПодбора = Новый Массив;
			//ПредставленияПодбора = Новый Соответствие;
			//ПараметрыПодбора = Новый Структура;
			//ПараметрыПодбора.Вставить("Реквизиты", РеквизитыПодбора);
			//ПараметрыПодбора.Вставить("Представления", ПредставленияПодбора);
			if(true/*ГоловнаяОрганизация = Неопределено*/)
			{
				//ПроцедурыУправленияПерсоналомПереопределяемый.ОткрытьФормуВыбораСотрудника(ЭлементыФормы[ИмяТЧ], Ссылка, Ложь, Дата, , ТабличнаяЧасть.ВыгрузитьКолонку("Сотрудник"),,ПараметрыПодбора);
			}
		}
		//ЗаполнитьРеквизитыПодбораПоказателямиРасчета
		// Процедура открывает форму выбора сотрудников организации
		// Параметры:
		//	Владелец 			- владелец формы
		//	Ключ 				- ключ, ссылка на документ из которого открывается форма
		//	ЗакрыватьПриВыборе 	- Булево
		//	ДатаСреза 			- дата, передается в форму для получения доп. данных по сотруднику на эту дату
		//	ГоловнаяОрганизация - головная организация
		//	Режим 				- число
		//	СтандартнаяОбработка- Булево
		//	ТекущееЗначение 	- ссылка на элемент, на котором необходимо спозиционироваться при открытии формы, либо массив уже подобранных сотров
		//	НеВыбиратьГруппы	- булево, признак выбора в списке групп и элементов
		//

		public void ОткрытьФормуВыбораСотрудникаОрганизации(/*Владелец, Ключ, ЗакрыватьПриВыборе, ДатаСреза, ГоловнаяОрганизация = Неопределено, Режим = 0, СтандартнаяОбработка = Неопределено, ТекущееЗначение = Неопределено, НеВыбиратьГруппы = Истина, ВыборФизлица = Ложь, ПараметрыПодбора = Неопределено, ПараметрыОтбора = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			//Форма = Справочники.СотрудникиОрганизаций.ПолучитьФормуВыбора(, Владелец, Ключ);
			//Форма.ДатаСреза 					= ДатаСреза;
			if(true/*НеВыбиратьГруппы*/)
			{
				//Форма.ПараметрВыборГруппИЭлементов	= ИспользованиеГруппИЭлементов.Элементы;
			}
			//Форма.РежимВыбора					= Истина;
			//Форма.ЗакрыватьПриВыборе			= ЗакрыватьПриВыборе;
			//Форма.ВыборФизлица					= ВыборФизлица;
			//Форма.мПараметрыПодбора				= ПараметрыПодбора;
			if(true/*ТекущееЗначение <> Неопределено*/)
			{
				if(true/*ТипЗнч(ТекущееЗначение) = Тип("СправочникСсылка.СотрудникиОрганизаций")*/)
				{
					//Форма.ПараметрТекущаяСтрока		= ТекущееЗначение;
				}
			}
			/*//установим отборы
*/
			if(true/*ЗначениеЗаполнено(ГоловнаяОрганизация)*/)
			{
				//Форма.Отбор.Организация.Установить(ГоловнаяОрганизация);
				//Форма.Отбор.Организация.Использование = ЗначениеЗаполнено(ГоловнаяОрганизация);
			}
			//Форма.Отбор.ВидДоговора.ВидСравнения	= ВидСравнения.ВСписке;
			//Форма.Отбор.ВидДоговора.Использование	= Истина;
			//Форма.Отбор.ВидДоговора.Значение		= ПроцедурыУправленияПерсоналомПереопределяемый.СписокДоговоровФормыВыбораСотрудника(Режим);
			if(true/*НЕ ПараметрыОтбора = Неопределено*/)
			{
			}
			//Форма.Открыть();
		}
		// ОткрытьФормуВыбораСотрудникаОрганизации()

		public void ОбработкаОткрытияФизлица(/*Владелец, Ключ, Физлицо, ГоловнаяОрганизация = Неопределено, СтандартнаяОбработка = Неопределено*/)
		{
			//СотрудникиОрганизацийДополнительный.ОбработкаОткрытияФизлица(Владелец, Ключ, Физлицо, ГоловнаяОрганизация, СтандартнаяОбработка);
		}
		// ОбработкаОткрытияФизлица
		////////////////////////////////////////////////////////////////////////////////
		// ПОЛУЧЕНИЕ СПИСКОВ ЗНАЧЕНИЙ ПЕРЕЧИСЛЕНИЙ
		// Возвращает список отпусков, регистрируемых документом Отпуска организации
		//
		// Параметры
		//  нет
		//
		// Возвращаемое значение:
		//   Список значений, содержащий подходящий перечень значений перечисления
		//

		public object ПолучитьСписокОтпусковОрганизации(/**/)
		{
			//СписокСпособов = Новый СписокЗначений;
			//СписокСпособов.Добавить(Перечисления.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускЕжегодный);
			//СписокСпособов.Добавить(Перечисления.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускУчебный);
			//СписокСпособов.Добавить(Перечисления.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускУчебныйНеоплачиваемый);
			//СписокСпособов.Добавить(Перечисления.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускБезСохраненияЗарплаты);
			return null;
		}
		// Возвращает список причин отсутствия, регистрируемых документом Отсутствие организации
		//
		// Параметры
		//  нет
		//
		// Возвращаемое значение:
		//   Список значений, содержащий подходящий перечень значений перечисления
		//

		public object ПолучитьСписокПрочихСостоянийРаботника(/**/)
		{
			//СписокСпособов = Новый СписокЗначений;
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.Заболевание);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.Работает);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.ПоУходуЗаРебенком);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.Простой);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.ОтсутствуетПоНевыясненнойПричине);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.ОтпускПоБеременностиИРодам);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.ВынужденныйПрогул);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.ГосударственныеОбязанности);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.Прогулы);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.ДополнительныеВыходныеДниОплачиваемые);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.ТравмаНаПроизводстве);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.Протезирование);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.Карантин);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.ПоУходуЗаВзрослым);
			//СписокСпособов.Добавить(Перечисления.СостоянияРаботникаОрганизации.ПособиеПриДолечивании);
			return null;
		}
		// ПолучитьСписокПрочихСостоянийРаботника()
		// Функция возвращает массив видов времени,
		// по идексам этого массива происходит упорядочивание видов времени в сводном табеле
		//

		public object ПолучитьМассивУпорядоченныхВидовИспользованияРабочегоВремени(/**/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	КлассификаторИспользованияРабочегоВремени.Ссылка
	|ИЗ
	|	Справочник.КлассификаторИспользованияРабочегоВремени КАК КлассификаторИспользованияРабочегоВремени
	|ГДЕ
	|	(НЕ КлассификаторИспользованияРабочегоВремени.ПометкаУдаления)
	|
	|УПОРЯДОЧИТЬ ПО
	|	ВЫБОР
	|		КОГДА КлассификаторИспользованияРабочегоВремени.Ссылка = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Работа)
	|			ТОГДА 1
	|		КОГДА КлассификаторИспользованияРабочегоВремени.Ссылка = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.РаботаНочныеЧасы)
	|			ТОГДА 2
	|		КОГДА КлассификаторИспользованияРабочегоВремени.Ссылка = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.НеявкиПоНевыясненнымПричинам)
	|			ТОГДА 3
	|		КОГДА КлассификаторИспользованияРабочегоВремени.Ссылка = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.ОсновнойОтпуск)
	|			ТОГДА 4
	|		КОГДА КлассификаторИспользованияРабочегоВремени.Ссылка = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Командировка)
	|			ТОГДА 5
	|		КОГДА КлассификаторИспользованияРабочегоВремени.Ссылка = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Сверхурочные)
	|			ТОГДА 6
	|		КОГДА КлассификаторИспользованияРабочегоВремени.Ссылка = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Праздники)
	|			ТОГДА 7
	|		ИНАЧЕ 100
	|	КОНЕЦ";*/
			return null;
		}
		// ПолучитьМассивДляУпорядочивания()

		public object ПолучитьСписокСтатусовФизлиц(/**/)
		{
			//СписокСтатусов = Новый СписокЗначений;
			//ВключатьМоряков = ЗначениеУчетнойПолитикиПоПерсоналуВсехОрганизаций(глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналуОрганизации"), "ИспользуетсяТрудЧленовЭкипажейМорскихСудов");
			return null;
		}
		// ПолучитьСписокСтатусовФизлиц()
		////////////////////////////////////////////////////////////////////////////////
		// КАДРОВАЯ НУМЕРАЦИЯ
		// имитация кадрового нумератора для поддержки учетной политики по персоналу с
		// кадровым нумераторм документов

		public void ПриУстановкеНовогоНомераКадровогоДокумента(/*СтандартнаяОбработка, ЕдиныйНумераторКадровыхДокументов, Номер, Префикс, Дата*/)
		{
			/*// проверка учетной политики
*/
			if(true/*ЕдиныйНумераторКадровыхДокументов*/)
			{
				//СписокДокументов = Новый Массив;
				//СписокДокументов.Добавить("КадровоеПеремещениеОрганизаций");
				//СписокДокументов.Добавить("ПриемНаРаботуВОрганизацию");
				//СписокДокументов.Добавить("УвольнениеИзОрганизаций");
				//НовыйНомер = ПолучитьНовыйНомерПоДокументам(СписокДокументов, Префикс, Дата);
				if(true/*НовыйНомер <> ""*/)
				{
					//СтандартнаяОбработка = Ложь;
					//Номер = НовыйНомер;
				}
			}
		}
		// Получает новый номер документа по переданному списку документов и префиксу
		// Фактически, имитирует работу нумератора докумнетов
		// Если в информационной базе еще нет документов вернет пустую стоку
		//
		// Только для документов со строковым номером!
		//
		// Параметры:
		//	СписокДокументов - массив строк с именами документов
		//  Префикс - строка, префикс номера
		//  Дата - дата документа
		// Возвращаемое значение:
		//  строка
		//

		public object ПолучитьНовыйНомерПоДокументам(/*СписокДокументов, Префикс, Дата*/)
		{
			//Запрос = Новый Запрос;
			//Результат = Новый СписокЗначений;
			if(true/*Результат.Количество() > 0*/)
			{
				//СтандартнаяОбработка = Ложь;
				/*// выберем наибольший
*/
				//Результат.СортироватьПоЗначению(НаправлениеСортировки.Убыв);
				/*// получим новый номер
*/
				//НовыйНомер = ПолучитьСледующийНомер(СокрП(Результат[0].Значение));
			}
			return null;
		}
		// Увеличивает номер в переданной строке на 1
		//
		// Параметры
		//  ПоследнийНомер - строка - представляет собой номер (документа, табельный и т.п.)
		//
		// Возвращаемое значение:
		//  строка  - следующий по порядку номер
		//

		public object ПолучитьСледующийНомер(/*ПоследнийНомер, Знач ДлинаНомера = 0*/)
		{
			if(true/*ДлинаНомера = 0*/)
			{
				//ДлинаНомера = СтрДлина(ПоследнийНомер);
			}
			if(true/*ДлинаНомера = 0*/)
			{
			}
			//СчетчикСимв = ДлинаНомера;
			while(true/*СчетчикСимв > 0*/)
			{
				if(true/*Не ПустаяСтрока(Сред(ПоследнийНомер, СчетчикСимв, 1)) и ОбщегоНазначения.ТолькоЦифрыВСтроке(Сред(ПоследнийНомер, СчетчикСимв, 1))*/)
				{
					//СчетчикСимв = СчетчикСимв - 1;
				}
			}
			if(true/*СчетчикСимв = ДлинаНомера*/)
			{
				//НомерЧисловой = 1;
			}
			if(true/*НомерЧисловой < Pow(10, ДлинаНомера - СчетчикСимв) - 1*/)
			{
				//СледующийНомер = НомерЧисловой + 1;
			}
			//НовыйНомер = Лев(ПоследнийНомер,  СчетчикСимв) + Формат(СледующийНомер,"ЧЦ=" + (ДлинаНомера - СчетчикСимв) + "; ЧВН=; ЧГ=0");
			return null;
		}
		// ПолучитьСледующийНомер()
		// проверяет уникальность кадрового номера
		// если не уникален - возвращает Ложь
		// Параметры:
		//  ЕдиныйНумераторКадровыхДокументов - сведения по учетной политике ведения единого нумератора кадровых документов
		//  Организация
		//  Номер - проверяемый номер
		//  Дата - дата проверяемого документа
		//  Ссылка - ссылка на документ, для которого выпорлняется проверка
		//
		// Вызывает исключение!
		// Должна использоваться, например, при записи документа.
		//

		public object ПроверкаУникальностиНомераКадровогоДокумента(/*ЕдиныйНумераторКадровыхДокументов, Номер, Дата, Ссылка*/)
		{
			/*// проверка учетной политики
*/
			if(true/*ЕдиныйНумераторКадровыхДокументов*/)
			{
				//СписокДокументов = Новый Массив;
				//СписокДокументов.Добавить("КадровоеПеремещениеОрганизаций");
				//СписокДокументов.Добавить("ПриемНаРаботуВОрганизацию");
				//СписокДокументов.Добавить("УвольнениеИзОрганизаций");
				if(true/*Не ПроверкаУникальностиНомераПоДокументам(СписокДокументов, Номер, Дата, Ссылка)*/)
				{
					//ВызватьИсключение "Неуникальный номер кадрового документа! (" + Номер + ")";
				}
			}
			return null;
		}
		// используется в ПроверкаУникальностиНомераКадровогоДокумента

		public object ПроверкаУникальностиНомераПоДокументам(/*СписокДокументов, Номер, Дата, Ссылка*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Ссылка", Ссылка);
			//Запрос.УстановитьПараметр("Номер", Номер);
			/*// поддерживается "годовая" кадровая нумерация
*/
			//Запрос.УстановитьПараметр("НачалоГода", НачалоГода(Дата));
			//Запрос.УстановитьПараметр("КонецГода", КонецГода(Дата));
			return null;
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ МЕХАНИЗМА КОНТРОЛЯ ПЕРИОДОВ
		// Функция возвращает текст запроса для получения периодов использования ресурсов
		//
		// Параметры:
		//	ИмяРегистра		- имя регистра
		//	ДатаНачала		- имя параметра "дата начала" интревала за который необходимо получить периоды,
		//					  если не задана - то "от самого начала"
		//	ДатаОкончания	- имя параметра "дата окончания" интервала за который необходимо получить периоды,
		//					  если не задана - то "до самомго конца"
		//	Условие			- условие, по которому отбираются перичные записи регистра. Условия пишется на поля
		//					  регистра периодов с применением алиаса "Периоды". Например: "Периоды.Физлицо В (&Физлица)"
		//
		// Возвращает:
		//	Текст запроса, содержащий поля:
		//		Регистратор1	- ссылка на регистратор, который определяет период
		//		Регистратор2	- ссылка на второй регистратор, который определяет период (для
		//						  периодов, которые определяются двумя событиями)
		//		<Измерение>		- все измерения регистра кроме ДатаНачала и ДатаОкончания
		//		ДатаНачала		- начало полученного виртуального периода
		//		ДатаОкончания	- окончание полученного виртуального периода
		//

		public object ПериодыИспользованияРесурсов(/*ИмяРегистра, ДатаНачала = Неопределено, ДатаОкончания = Неопределено, Условие = "", УчитыватьРегистратор = Истина, МаксимальныйИнтервал = Неопределено*/)
		{
			//ИмяТаблицы = "РегистрСведений." + ИмяРегистра;
			//РегистрМД = Метаданные.НайтиПоПолномуИмени(ИмяТаблицы);
			//Измерения = Новый Массив;
			/*Текст =
	"ВЫБРАТЬ";*/
			/*Текст = Текст + "
	|	Периоды.Регистратор КАК Регистратор1,
	|	NULL КАК Регистратор2,
	|	Периоды.ДатаНачала КАК ДатаНачала,
	|	ВЫБОР
	|		КОГДА МИНИМУМ(ПериодыВсп.ДатаНачала) ЕСТЬ NULL 
	|			ТОГДА Периоды.ДатаОкончания
	|		ИНАЧЕ МИНИМУМ(ПериодыВсп.ДатаНачала)
	|	КОНЕЦ КАК ДатаОкончания
	|ИЗ
	|	" + ИмяТаблицы + " КАК Периоды
	|		ЛЕВОЕ СОЕДИНЕНИЕ " + ИмяТаблицы + " КАК ПериодыВсп
	|		ПО ";*/
			/*Текст = Текст + "ПериодыВсп.ДатаНачала > Периоды.ДатаНачала
	|			И ПериодыВсп.ДатаНачала < Периоды.ДатаОкончания
	|		ЛЕВОЕ СОЕДИНЕНИЕ " + ИмяТаблицы + " КАК Проверка
	|		ПО ";*/
			/*Текст = Текст + "Проверка.ДатаОкончания > Периоды.ДатаНачала
	|			И Проверка.ДатаОкончания < Периоды.ДатаОкончания
	|			И (Проверка.ДатаНачала = ДАТАВРЕМЯ(1, 1, 1))
	|ГДЕ";*/
			if(true/*Не ПустаяСтрока(Условие)*/)
			{
				/*Текст = Текст + "
		|	" + Условие + "
		|	И ";*/
			}
			if(true/*Не УчитыватьРегистратор*/)
			{
				/*Текст = Текст + "
		|	Периоды.Регистратор <> &Регистратор
		|	И ";*/
			}
			if(true/*ДатаНачала <> Неопределено ИЛИ ДатаОкончания <> Неопределено*/)
			{
				//Текст = Текст + "(";
			}
			if(true/*ДатаНачала <> Неопределено*/)
			{
				/*Текст = Текст + "Периоды.ДатаНачала >= &" + ДатаНачала + "
		|	";*/
			}
			if(true/*ДатаОкончания <> Неопределено*/)
			{
				if(true/*ДатаНачала <> Неопределено*/)
				{
					//Текст = Текст + "И ";
				}
				/*Текст = Текст + "Периоды.ДатаНачала <= &" + ДатаОкончания + "
		|	";*/
			}
			if(true/*ДатаНачала <> Неопределено*/)
			{
				/*Текст = Текст + "ИЛИ &ДатаНачала >= Периоды.ДатаНачала
		|	И &ДатаНачала <= Периоды.ДатаОкончания";*/
			}
			if(true/*ДатаНачала <> Неопределено ИЛИ ДатаОкончания <> Неопределено*/)
			{
				//Текст = Текст + ") И ";
			}
			/*Текст = Текст + "Периоды.ДатаНачала <> ДАТАВРЕМЯ(1,1,1)
	|		И Периоды.ДатаОкончания <> ДАТАВРЕМЯ(1,1,1)
	|		И Проверка.ДатаНачала ЕСТЬ NULL
	|
	|СГРУППИРОВАТЬ ПО";*/
			/*Текст = Текст + "
	|	Периоды.Регистратор,
	|	Периоды.ДатаНачала,
	|	Периоды.ДатаОкончания
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ";*/
			/*Текст = Текст + "
	|	Периоды.Регистратор1,
	|	Периоды.Регистратор2,
	|	Периоды.ДатаНачала,
	|	Периоды.ДатаОкончания
	|ИЗ
	|	(ВЫБРАТЬ";*/
			/*Текст = Текст + "
	|		Периоды.Регистратор КАК Регистратор1,
	|		ВЫБОР
	|			КОГДА
	|				МаксимальныеПериоды.Регистратор <> Периоды.Регистратор
	|					ТОГДА МаксимальныеПериоды.Регистратор
	|		КОНЕЦ КАК Регистратор2,
	|		ЕСТЬNULL(Периоды.ДатаНачала, ДАТАВРЕМЯ(1,1,1)) КАК ДатаНачала,
	|		МаксимальныеПериоды.ДатаОкончания КАК ДатаОкончания
	|	ИЗ
	|		(ВЫБРАТЬ
	|			Периоды.Регистратор КАК Регистратор,";*/
			/*Текст = Текст + "
	|			Периоды.ДатаОкончания КАК ДатаОкончания,
	|			МАКСИМУМ(ПериодыПредыдущие.ДатаНачала) КАК МаксДата
	|		ИЗ
	|			" + ИмяТаблицы + " КАК Периоды
	|				ЛЕВОЕ СОЕДИНЕНИЕ " + ИмяТаблицы + " КАК ПериодыПредыдущие
	|				ПО ";*/
			if(true/*Не УчитыватьРегистратор*/)
			{
				/*Текст = Текст + "ПериодыПредыдущие.Регистратор <> &Регистратор
		|				И ";*/
			}
			if(true/*МаксимальныйИнтервал <> Неопределено*/)
			{
				/*Текст = Текст + "(ПериодыПредыдущие.ДатаНачала > ДОБАВИТЬКДАТЕ(Периоды.ДатаОкончания, ДЕНЬ, -&МаксимальныйИнтервал))
		|				И ";*/
			}
			/*Текст = Текст + "Периоды.ДатаОкончания > ПериодыПредыдущие.ДатаНачала
	|		ГДЕ";*/
			if(true/*Не ПустаяСтрока(Условие)*/)
			{
				/*Текст = Текст + "
		|		" + Условие + "
		|		И ";*/
			}
			if(true/*Не УчитыватьРегистратор*/)
			{
				/*Текст = Текст + "Периоды.Регистратор <> &Регистратор
		|		И ";*/
			}
			if(true/*ДатаНачала <> Неопределено ИЛИ ДатаОкончания <> Неопределено*/)
			{
				//Текст = Текст + "(";
			}
			if(true/*ДатаНачала <> Неопределено*/)
			{
				/*Текст = Текст + "Периоды.ДатаОкончания >= &" + ДатаНачала + "
		|	";*/
			}
			if(true/*ДатаОкончания <> Неопределено*/)
			{
				if(true/*ДатаНачала <> Неопределено*/)
				{
					//Текст = Текст + "И ";
				}
				/*Текст = Текст + "Периоды.ДатаОкончания <= &" + ДатаОкончания + "
		|	";*/
			}
			if(true/*ДатаНачала <> Неопределено*/)
			{
				//Текст = Текст + "ИЛИ &ДатаНачала <= Периоды.ДатаОкончания";
			}
			if(true/*ДатаНачала <> Неопределено ИЛИ ДатаОкончания <> Неопределено*/)
			{
				//Текст = Текст + ") И ";
			}
			/*Текст = Текст +
	"			Периоды.ДатаНачала = ДАТАВРЕМЯ(1,1,1)
	|		
	|		СГРУППИРОВАТЬ ПО
	|			Периоды.Регистратор,";*/
			/*Текст = Текст + "
	|			Периоды.ДатаОкончания) КАК МаксимальныеПериоды
	|			ЛЕВОЕ СОЕДИНЕНИЕ " + ИмяТаблицы + " КАК Периоды
	|			ПО ";*/
			/*Текст = Текст + "МаксимальныеПериоды.МаксДата = Периоды.ДатаНачала
	|				И (Периоды.ДатаНачала <> ДАТАВРЕМЯ(1,1,1))
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ";*/
			/*Текст = Текст + "
	|		МинимальныеПериоды.Регистратор КАК Регистратор1,
	|		ВЫБОР КОГДА Периоды.Регистратор <> МинимальныеПериоды.Регистратор ТОГДА Периоды.Регистратор КОНЕЦ КАК Регистратор2,
	|		МинимальныеПериоды.ДатаНачала,
	|		ЕСТЬNULL(Периоды.ДатаОкончания, ДАТАВРЕМЯ(1,1,1))
	|	ИЗ
	|		(ВЫБРАТЬ
	|			Периоды.Регистратор КАК Регистратор,";*/
			/*Текст = Текст + "
	|			Периоды.ДатаНачала КАК ДатаНачала,
	|			МИНИМУМ(ПериодыСледующие.ДатаОкончания) КАК МинДата
	|		ИЗ
	|			" + ИмяТаблицы + " КАК Периоды
	|				ЛЕВОЕ СОЕДИНЕНИЕ " + ИмяТаблицы + " КАК ПериодыСледующие
	|				ПО ";*/
			if(true/*Не УчитыватьРегистратор*/)
			{
				/*Текст = Текст + "ПериодыСледующие.Регистратор <> &Регистратор
		|				И ";*/
			}
			if(true/*МаксимальныйИнтервал <> Неопределено*/)
			{
				/*Текст = Текст + "(ПериодыСледующие.ДатаОкончания < ДОБАВИТЬКДАТЕ(Периоды.ДатаНачала, ДЕНЬ, &МаксимальныйИнтервал))
		|				И ";*/
			}
			/*Текст = Текст + "Периоды.ДатаНачала < ПериодыСледующие.ДатаОкончания
	|					И ПериодыСледующие.ДатаНачала = ДАТАВРЕМЯ(1,1,1)
	|		ГДЕ";*/
			if(true/*Не ПустаяСтрока(Условие)*/)
			{
				/*Текст = Текст + "
		|" + Условие + "
		|	И ";*/
			}
			if(true/*Не УчитыватьРегистратор*/)
			{
				/*Текст = Текст + "
		|Периоды.Регистратор <> &Регистратор
		|	И ";*/
			}
			if(true/*ДатаНачала <> Неопределено ИЛИ ДатаОкончания <> Неопределено*/)
			{
				//Текст = Текст + "(";
			}
			if(true/*ДатаНачала <> Неопределено*/)
			{
				/*Текст = Текст + "ВЫБОР КОГДА Периоды.ДатаНачала = ДАТАВРЕМЯ(1,1,1) ТОГДА Периоды.ДатаОкончания ИНАЧЕ Периоды.ДатаНачала КОНЕЦ >= &" + ДатаНачала + "
		|	";*/
			}
			if(true/*ДатаОкончания <> Неопределено*/)
			{
				if(true/*ДатаНачала <> Неопределено*/)
				{
					//Текст = Текст + "И ";
				}
				/*Текст = Текст + "ВЫБОР КОГДА Периоды.ДатаНачала = ДАТАВРЕМЯ(1,1,1) ТОГДА Периоды.ДатаОкончания ИНАЧЕ Периоды.ДатаНачала КОНЕЦ <= &" + ДатаОкончания + "
		|	";*/
			}
			if(true/*ДатаНачала <> Неопределено*/)
			{
				/*Текст = Текст + "ИЛИ &ДатаНачала >= ВЫБОР КОГДА Периоды.ДатаНачала = ДАТАВРЕМЯ(1,1,1) ТОГДА Периоды.ДатаОкончания ИНАЧЕ Периоды.ДатаНачала КОНЕЦ
		|	И &ДатаНачала <= Периоды.ДатаОкончания";*/
			}
			if(true/*ДатаНачала <> Неопределено ИЛИ ДатаОкончания <> Неопределено*/)
			{
				//Текст = Текст + ") И ";
			}
			/*Текст = Текст + "Периоды.ДатаОкончания = ДАТАВРЕМЯ(1,1,1)
	|		
	|		СГРУППИРОВАТЬ ПО
	|			Периоды.Регистратор,";*/
			/*Текст = Текст + "
	|			Периоды.ДатаНачала) КАК МинимальныеПериоды
	|			ЛЕВОЕ СОЕДИНЕНИЕ " + ИмяТаблицы + " КАК Периоды
	|			ПО ";*/
			/*Текст = Текст + "МинимальныеПериоды.МинДата = Периоды.ДатаОкончания
	|				И (Периоды.ДатаОкончания <> ДАТАВРЕМЯ(1,1,1))) КАК Периоды";*/
			return null;
		}

		public void ПолучитьОшибкиПериодовРаботыСотрудникаПоОсновномуМестуРаботы(/*Регистратор, УчитыватьРегистратор, МассивФизлица, СообщенияОбОшибках, ОшибкиПериодов*/)
		{
			//Запрос = Новый Запрос;
			//ТаблицаПериодов = ПериодыИспользованияРесурсов("ПериодыРаботыРаботниковОрганизацийПоОсновномуМестуРаботы", , , "Периоды.Физлицо В (&Физлица)", УчитыватьРегистратор);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	Регистратор1,
	|	Регистратор2,
	|	ПРЕДСТАВЛЕНИЕ(Регистратор1) КАК ПредставлениеРегистратор1,
	|	ПРЕДСТАВЛЕНИЕ(Регистратор2) КАК ПредставлениеРегистратор2,
	|	Физлицо,
	|	Физлицо.Наименование КАК ФизлицоНаименование,
	|	ДатаНачала,
	|	ДатаОкончания
	|ИЗ
	|	(" + ТаблицаПериодов + ") КАК Периоды
	|УПОРЯДОЧИТЬ ПО
	|	ФизлицоНаименование,
	|	ДатаНачала";*/
			//Запрос.УстановитьПараметр("Регистратор",	Регистратор);
			//Запрос.УстановитьПараметр("Физлица",		МассивФизлица);
			//Выборка = Запрос.Выполнить().Выбрать();
			/*// обработаем периоды
*/
			//ТекущееФизлицо						= Неопределено;
			//ПоследняяДатаНачала					= '0001-01-01';
			//ПоследняяДатаОкончания				= '0001-01-01';
			//ПоследнийРегистратор1				= Неопределено;
			//ПоследнийРегистратор2				= Неопределено;
			//ПоследнийПредставлениеРегистратор1	= "";
			//ПоследнийПредставлениеРегистратор2	= "";
			while(true/*Выборка.Следующий()*/)
			{
				if(true/*ТекущееФизлицо <> Выборка.Физлицо*/)
				{
					//ТекущееФизлицо = Выборка.Физлицо;
				}
				//ПоследнийРегистратор1				= Выборка.Регистратор1;
				//ПоследнийРегистратор2				= Выборка.Регистратор2;
				//ПоследнийПредставлениеРегистратор1	= Выборка.ПредставлениеРегистратор1;
				/*;
		ПоследнийПредставлениеРегистратор2	= Выборка.ПредставлениеРегистратор2;*/
				//ПоследняяДатаНачала					= Выборка.ДатаНачала;
				//ПоследняяДатаОкончания				= Выборка.ДатаОкончания;
			}
			//;;
		}

		public void ПолучитьОшибкиПериодовРаботыСотрудникаПоСовместительству(/*Регистратор, УчитыватьРегистратор, МассивФизлица, Организация, СообщенияОбОшибках, ОшибкиПериодов*/)
		{
			//Запрос = Новый Запрос;
			//ТаблицаПериодов = ПериодыИспользованияРесурсов("ПериодыРаботыРаботниковОрганизацийПоСовместительству", , , "Периоды.Физлицо В (&Физлица) И Периоды.Организация = &Организация", УчитыватьРегистратор);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	Регистратор1,
	|	Регистратор2,
	|	ПРЕДСТАВЛЕНИЕ(Регистратор1) КАК ПредставлениеРегистратор1,
	|	ПРЕДСТАВЛЕНИЕ(Регистратор2) КАК ПредставлениеРегистратор2,
	|	Физлицо,
	|	Физлицо.Наименование КАК ФизлицоНаименование,
	|	ДатаНачала,
	|	ДатаОкончания
	|ИЗ
	|	(" + ТаблицаПериодов + ") КАК Периоды
	|УПОРЯДОЧИТЬ ПО
	|	ФизлицоНаименование,
	|	ДатаНачала";*/
			//Запрос.УстановитьПараметр("Регистратор",	Регистратор);
			//Запрос.УстановитьПараметр("Организация",	Организация);
			//Запрос.УстановитьПараметр("Физлица",		МассивФизлица);
			//Выборка = Запрос.Выполнить().Выбрать();
			/*// обработаем периоды
*/
			//ТекущееФизлицо						= Неопределено;
			//ПоследняяДатаНачала					= '0001-01-01';
			//ПоследняяДатаОкончания				= '0001-01-01';
			//ПоследнийРегистратор1				= Неопределено;
			//ПоследнийРегистратор2				= Неопределено;
			//ПоследнийПредставлениеРегистратор1	= "";
			//ПоследнийПредставлениеРегистратор2	= "";
			while(true/*Выборка.Следующий()*/)
			{
				if(true/*ТекущееФизлицо <> Выборка.Физлицо*/)
				{
					//ТекущееФизлицо = Выборка.Физлицо;
				}
				//ПоследнийРегистратор1				= Выборка.Регистратор1;
				//ПоследнийРегистратор2				= Выборка.Регистратор2;
				//ПоследнийПредставлениеРегистратор1	= Выборка.ПредставлениеРегистратор1;
				/*;
		ПоследнийПредставлениеРегистратор2	= Выборка.ПредставлениеРегистратор2;*/
				//ПоследняяДатаНачала					= Выборка.ДатаНачала;
				//ПоследняяДатаОкончания				= Выборка.ДатаОкончания;
			}
			//;;
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ формирования движений кадровых документов по плановым начислениям работников организации

		public object СформироватьЗапросПоПлановымНачислениям(/*ДанныеОНачислениях, КонтрольРазмераСтавокШтатногоРасписания, ДанныеПлановыхНачислений = Неопределено*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("ДанныеОНачислениях", ДанныеОНачислениях);
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	ТЧНачисления.НомерСтроки КАК НомерСтроки,
	|	ТЧНачисления.Ссылка,
	|	ТЧНачисления.Сотрудник,
	|	ТЧНачисления.ПодразделениеОрганизации,
	|	ТЧНачисления.Должность,
	|	ТЧНачисления.ЗанимаемыхСтавок,
	|	ТЧНачисления.ГрафикРаботы,
	|	ТЧНачисления.Период,
	|	ТЧНачисления.Действие,
	|	ТЧНачисления.ПериодЗавершения,
	|	ТЧНачисления.ДействиеЗавершения,
	|	ТЧНачисления.ВидРасчета,
	|	ТЧНачисления.ВидРасчетаИзмерение,
	|	ТЧНачисления.СпособРасчета,
	|	ТЧНачисления.ЗачетОтработанногоВремени,
	|	ТЧНачисления.ТребуетВводаТарифногоРазряда,
	|	ТЧНачисления.ПроизвольнаяФормулаРасчета,
	|	ТЧНачисления.Показатель1,
	|	ТЧНачисления.Валюта1,
	|	ТЧНачисления.ТарифныйРазряд1,
	|	ТЧНачисления.Показатель2,
	|	ТЧНачисления.Валюта2,
	|	ТЧНачисления.ТарифныйРазряд2,
	|	ТЧНачисления.Показатель3,
	|	ТЧНачисления.Валюта3,
	|	ТЧНачисления.ТарифныйРазряд3,
	|	ТЧНачисления.Показатель4,
	|	ТЧНачисления.Валюта4,
	|	ТЧНачисления.ТарифныйРазряд4,
	|	ТЧНачисления.Показатель5,
	|	ТЧНачисления.Валюта5,
	|	ТЧНачисления.ТарифныйРазряд5,
	|	ТЧНачисления.Показатель6,
	|	ТЧНачисления.Валюта6,
	|	ТЧНачисления.ТарифныйРазряд6
	|ПОМЕСТИТЬ ВТДанныеОНачислениях
	|ИЗ
	|	&ДанныеОНачислениях КАК ТЧНачисления
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	НомерСтроки";*/
			//Запрос.Выполнить();
			/*// временная таблица с результатами проверки штатного расписания
*/
			if(true/*КонтрольРазмераСтавокШтатногоРасписания*/)
			{
				//Запрос.Текст =  ПроцедурыУправленияПерсоналомПереопределяемый.СформироватьТекстЗапросаПоПроверкеСоответствияШтатномуРасписанию();
			}
			//Запрос.Выполнить();
			/*// временная таблица с данными плановых начислений по состоянию до изменения
*/
			if(true/*ДанныеПлановыхНачислений = Неопределено*/)
			{
				/*Запрос.Текст = 
		"ВЫБРАТЬ
		|	ТЧНачисления.НомерСтроки КАК НомерСтроки
		|ИЗ
		|	ВТДанныеОНачислениях КАК ТЧНачисления
		|ГДЕ
		|	(ТЧНачисления.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать)
		|			ИЛИ ТЧНачисления.Действие = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Изменить))";*/
				if(true/*Запрос.Выполнить().Пустой()*/)
				{
					/*Запрос.Текст = 
			"ВЫБРАТЬ
			|	ТЧОсновныеНачисления.НомерСтроки КАК НомерСтроки,
			|	ТЧОсновныеНачисления.ВидРасчета КАК ПрежнийВидРасчета,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийТарифныйРазряд1,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийПоказатель1,
			|	НЕОПРЕДЕЛЕНО КАК ПрежняяВалюта1,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийТарифныйРазряд2,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийПоказатель2,
			|	НЕОПРЕДЕЛЕНО КАК ПрежняяВалюта2,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийТарифныйРазряд3,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийПоказатель3,
			|	НЕОПРЕДЕЛЕНО КАК ПрежняяВалюта3,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийТарифныйРазряд4,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийПоказатель4,
			|	НЕОПРЕДЕЛЕНО КАК ПрежняяВалюта4,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийТарифныйРазряд5,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийПоказатель5,
			|	НЕОПРЕДЕЛЕНО КАК ПрежняяВалюта5,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийТарифныйРазряд6,
			|	НЕОПРЕДЕЛЕНО КАК ПрежнийПоказатель6,
			|	НЕОПРЕДЕЛЕНО КАК ПрежняяВалюта6,
			|	НЕОПРЕДЕЛЕНО КАК КонфликтныйДокумент,
			|	НЕОПРЕДЕЛЕНО КАК ДатаДвижения
			|ПОМЕСТИТЬ ВТДанныеОПрежнихНачислениях
			|ИЗ
			|	ВТДанныеОНачислениях КАК ТЧОсновныеНачисления
			|ГДЕ
			|	(ТЧОсновныеНачисления.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать)
			|			ИЛИ ТЧОсновныеНачисления.Действие = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Изменить))
			|
			|ИНДЕКСИРОВАТЬ ПО
			|	НомерСтроки";*/
				}
			}
			//Запрос.Выполнить();
			/*// временная таблица с описанием показателей
*/
			/*// в основном запросе собираем в единой выборке подготовленные ранее данные
*/
			/*ТекстЗапроса =
	"ВЫБРАТЬ
	|	ТЧОсновныеНачисления.НомерСтроки КАК НомерСтроки,
	|	МАКСИМУМ(Показатели.НомерСтроки) КАК КоличествоПоказателей,
	|	Показатели1.Показатель.Предопределенный КАК Показатель1Предопределенный,
	|	Показатели1.Показатель.Наименование КАК Показатель1Наименование,
	|	Показатели1.Показатель.ТипПоказателя КАК Показатель1ТипПоказателя,
	|	Показатели1.Показатель.ВозможностьИзменения КАК Показатель1ВозможностьИзменения,
	|	Показатели2.Показатель.Предопределенный КАК Показатель2Предопределенный,
	|	Показатели2.Показатель.Наименование КАК Показатель2Наименование,
	|	Показатели2.Показатель.ТипПоказателя КАК Показатель2ТипПоказателя,
	|	Показатели2.Показатель.ВозможностьИзменения КАК Показатель2ВозможностьИзменения,
	|	Показатели3.Показатель.Предопределенный КАК Показатель3Предопределенный,
	|	Показатели3.Показатель.Наименование КАК Показатель3Наименование,
	|	Показатели3.Показатель.ТипПоказателя КАК Показатель3ТипПоказателя,
	|	Показатели3.Показатель.ВозможностьИзменения КАК Показатель3ВозможностьИзменения,
	|	Показатели4.Показатель.Предопределенный КАК Показатель4Предопределенный,
	|	Показатели4.Показатель.Наименование КАК Показатель4Наименование,
	|	Показатели4.Показатель.ТипПоказателя КАК Показатель4ТипПоказателя,
	|	Показатели4.Показатель.ВозможностьИзменения КАК Показатель4ВозможностьИзменения,
	|	Показатели5.Показатель.Предопределенный КАК Показатель5Предопределенный,
	|	Показатели5.Показатель.Наименование КАК Показатель5Наименование,
	|	Показатели5.Показатель.ТипПоказателя КАК Показатель5ТипПоказателя,
	|	Показатели5.Показатель.ВозможностьИзменения КАК Показатель5ВозможностьИзменения,
	|	Показатели6.Показатель.Предопределенный КАК Показатель6Предопределенный,
	|	Показатели6.Показатель.Наименование КАК Показатель6Наименование,
	|	Показатели6.Показатель.ТипПоказателя КАК Показатель6ТипПоказателя,
	|	Показатели6.Показатель.ВозможностьИзменения КАК Показатель6ВозможностьИзменения,
	|	Показатели1.Показатель.Валюта КАК Показатель1Валюта,
	|	Показатели2.Показатель.Валюта КАК Показатель2Валюта,
	|	Показатели3.Показатель.Валюта КАК Показатель3Валюта,
	|	Показатели4.Показатель.Валюта КАК Показатель4Валюта,
	|	Показатели5.Показатель.Валюта КАК Показатель5Валюта,
	|	Показатели6.Показатель.Валюта КАК Показатель6Валюта,
	|	Показатели1.ЗапрашиватьПриКадровыхПеремещениях КАК Показатель1ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели2.ЗапрашиватьПриКадровыхПеремещениях КАК Показатель2ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели3.ЗапрашиватьПриКадровыхПеремещениях КАК Показатель3ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели4.ЗапрашиватьПриКадровыхПеремещениях КАК Показатель4ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели5.ЗапрашиватьПриКадровыхПеремещениях КАК Показатель5ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели6.ЗапрашиватьПриКадровыхПеремещениях КАК Показатель6ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели1.Показатель.ТарифнаяСтавка КАК Показатель1ТарифнаяСтавка,
	|	Показатели2.Показатель.ТарифнаяСтавка КАК Показатель2ТарифнаяСтавка,
	|	Показатели3.Показатель.ТарифнаяСтавка КАК Показатель3ТарифнаяСтавка,
	|	Показатели4.Показатель.ТарифнаяСтавка КАК Показатель4ТарифнаяСтавка,
	|	Показатели5.Показатель.ТарифнаяСтавка КАК Показатель5ТарифнаяСтавка,
	|	Показатели6.Показатель.ТарифнаяСтавка КАК Показатель6ТарифнаяСтавка
	|ПОМЕСТИТЬ ВТПоказатели
	|ИЗ
	|	ВТДанныеОНачислениях КАК ТЧОсновныеНачисления
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели
	|		ПО ТЧОсновныеНачисления.ВидРасчета = Показатели.Ссылка
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели1
	|		ПО ТЧОсновныеНачисления.ВидРасчета = Показатели1.Ссылка
	|			И (Показатели1.НомерСтроки = 1)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели2
	|		ПО ТЧОсновныеНачисления.ВидРасчета = Показатели2.Ссылка
	|			И (Показатели2.НомерСтроки = 2)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели3
	|		ПО ТЧОсновныеНачисления.ВидРасчета = Показатели3.Ссылка
	|			И (Показатели3.НомерСтроки = 3)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели4
	|		ПО ТЧОсновныеНачисления.ВидРасчета = Показатели4.Ссылка
	|			И (Показатели4.НомерСтроки = 4)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели5
	|		ПО ТЧОсновныеНачисления.ВидРасчета = Показатели5.Ссылка
	|			И (Показатели5.НомерСтроки = 5)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели6
	|		ПО ТЧОсновныеНачисления.ВидРасчета = Показатели6.Ссылка
	|			И (Показатели6.НомерСтроки = 6)
	|
	|СГРУППИРОВАТЬ ПО
	|	ТЧОсновныеНачисления.НомерСтроки,
	|	Показатели1.Показатель,
	|	Показатели2.Показатель,
	|	Показатели3.Показатель,
	|	Показатели4.Показатель,
	|	Показатели5.Показатель,
	|	Показатели6.Показатель,
	|	Показатели1.ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели2.ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели3.ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели4.ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели5.ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели6.ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели1.Показатель.Предопределенный,
	|	Показатели1.Показатель.Наименование,
	|	Показатели1.Показатель.ТипПоказателя,
	|	Показатели1.Показатель.ВозможностьИзменения,
	|	Показатели2.Показатель.Предопределенный,
	|	Показатели2.Показатель.Наименование,
	|	Показатели2.Показатель.ТипПоказателя,
	|	Показатели2.Показатель.ВозможностьИзменения,
	|	Показатели3.Показатель.Предопределенный,
	|	Показатели3.Показатель.Наименование,
	|	Показатели3.Показатель.ТипПоказателя,
	|	Показатели3.Показатель.ВозможностьИзменения,
	|	Показатели4.Показатель.Предопределенный,
	|	Показатели4.Показатель.Наименование,
	|	Показатели4.Показатель.ТипПоказателя,
	|	Показатели4.Показатель.ВозможностьИзменения,
	|	Показатели5.Показатель.Предопределенный,
	|	Показатели5.Показатель.Наименование,
	|	Показатели5.Показатель.ТипПоказателя,
	|	Показатели5.Показатель.ВозможностьИзменения,
	|	Показатели6.Показатель.Предопределенный,
	|	Показатели6.Показатель.Наименование,
	|	Показатели6.Показатель.ТипПоказателя,
	|	Показатели6.Показатель.ВозможностьИзменения,
	|	Показатели1.Показатель.Валюта,
	|	Показатели2.Показатель.Валюта,
	|	Показатели3.Показатель.Валюта,
	|	Показатели4.Показатель.Валюта,
	|	Показатели5.Показатель.Валюта,
	|	Показатели6.Показатель.Валюта,
	|	Показатели1.Показатель.ТарифнаяСтавка,
	|	Показатели2.Показатель.ТарифнаяСтавка,
	|	Показатели3.Показатель.ТарифнаяСтавка,
	|	Показатели4.Показатель.ТарифнаяСтавка,
	|	Показатели5.Показатель.ТарифнаяСтавка,
	|	Показатели6.Показатель.ТарифнаяСтавка
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	НомерСтроки
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ТЧНачисления.НомерСтроки КАК НомерСтроки,
	|	МИНИМУМ(ТЧНачисления2.НомерСтроки) КАК КонфликтнаяСтрокаНомер
	|ПОМЕСТИТЬ ВТДвойныеСтроки
	|ИЗ
	|	ВТДанныеОНачислениях КАК ТЧНачисления
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДанныеОНачислениях КАК ТЧНачисления2
	|		ПО (ТЧНачисления.ВидРасчета = ТЧНачисления2.ВидРасчета
	|				ИЛИ ТЧНачисления.ВидРасчета.ЗачетОтработанногоВремени
	|					И ТЧНачисления2.ВидРасчета.ЗачетОтработанногоВремени)
	|			И ТЧНачисления.НомерСтроки < ТЧНачисления2.НомерСтроки
	|			И ТЧНачисления.Сотрудник = ТЧНачисления2.Сотрудник
	|			И ТЧНачисления.Период = ТЧНачисления2.Период
	|
	|СГРУППИРОВАТЬ ПО
	|	ТЧНачисления.НомерСтроки
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	НомерСтроки
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ТЧНачисления.Ссылка,
	|	ТЧНачисления.НомерСтроки,
	|	ТЧНачисления.Сотрудник,
	|	ТЧНачисления.Сотрудник.Организация КАК ОрганизацияСотрудника,
	|	ТЧНачисления.Период,
	|	ТЧНачисления.ПериодЗавершения,
	|	ТЧНачисления.Действие,
	|	ТЧНачисления.ДействиеЗавершения,
	|	ТЧНачисления.ВидРасчета,
	|	ТЧНачисления.ЗачетОтработанногоВремени,
	|	ТЧНачисления.СпособРасчета КАК СпособРасчета,
	|	ЕСТЬNULL(ТЧНачисления.ПроизвольнаяФормулаРасчета, ЛОЖЬ) КАК ПроизвольнаяФормулаРасчета,
	|	ЕСТЬNULL(ТЧНачисления.ЗачетОтработанногоВремени, ЛОЖЬ) КАК ОсновноеНачисление,
	|	ЕСТЬNULL(ТЧНачисления.ТребуетВводаТарифногоРазряда, ЛОЖЬ) КАК ТребуетВводаТарифногоРазряда,
	|	ТЧНачисления.ТарифныйРазряд1,
	|	ТЧНачисления.Показатель1,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.Валюта1 ЕСТЬ NULL 
	|				ИЛИ ТЧНачисления.Валюта1 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
	|			ТОГДА Показатели.Показатель1Валюта
	|		ИНАЧЕ ТЧНачисления.Валюта1
	|	КОНЕЦ КАК Валюта1,
	|	ТЧНачисления.ТарифныйРазряд2,
	|	ТЧНачисления.Показатель2,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.Валюта2 ЕСТЬ NULL 
	|				ИЛИ ТЧНачисления.Валюта2 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
	|			ТОГДА Показатели.Показатель2Валюта
	|		ИНАЧЕ ТЧНачисления.Валюта2
	|	КОНЕЦ КАК Валюта2,
	|	ТЧНачисления.ТарифныйРазряд3,
	|	ТЧНачисления.Показатель3,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.Валюта3 ЕСТЬ NULL 
	|				ИЛИ ТЧНачисления.Валюта3 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
	|			ТОГДА Показатели.Показатель3Валюта
	|		ИНАЧЕ ТЧНачисления.Валюта3
	|	КОНЕЦ КАК Валюта3,
	|	ТЧНачисления.ТарифныйРазряд4,
	|	ТЧНачисления.Показатель4,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.Валюта4 ЕСТЬ NULL 
	|				ИЛИ ТЧНачисления.Валюта4 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
	|			ТОГДА Показатели.Показатель4Валюта
	|		ИНАЧЕ ТЧНачисления.Валюта4
	|	КОНЕЦ КАК Валюта4,
	|	ТЧНачисления.ТарифныйРазряд5,
	|	ТЧНачисления.Показатель5,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.Валюта5 ЕСТЬ NULL 
	|				ИЛИ ТЧНачисления.Валюта5 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
	|			ТОГДА Показатели.Показатель5Валюта
	|		ИНАЧЕ ТЧНачисления.Валюта5
	|	КОНЕЦ КАК Валюта5,
	|	ТЧНачисления.ТарифныйРазряд6,
	|	ТЧНачисления.Показатель6,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.Валюта6 ЕСТЬ NULL 
	|				ИЛИ ТЧНачисления.Валюта6 = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
	|			ТОГДА Показатели.Показатель6Валюта
	|		ИНАЧЕ ТЧНачисления.Валюта6
	|	КОНЕЦ КАК Валюта6,
	|	ДанныеШтатногоРасписания.РазмерСоответствуетШТР,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийВидРасчета
	|	КОНЕЦ КАК ВидРасчетаЗавершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийВидРасчета.СпособРасчета
	|	КОНЕЦ КАК СпособРасчетаЗавершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд1
	|	КОНЕЦ КАК ТарифныйРазряд1Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийПоказатель1
	|	КОНЕЦ КАК Показатель1Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежняяВалюта1
	|	КОНЕЦ КАК Валюта1Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд2
	|	КОНЕЦ КАК ТарифныйРазряд2Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийПоказатель2
	|	КОНЕЦ КАК Показатель2Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежняяВалюта2
	|	КОНЕЦ КАК Валюта2Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд3
	|	КОНЕЦ КАК ТарифныйРазряд3Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийПоказатель3
	|	КОНЕЦ КАК Показатель3Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежняяВалюта3
	|	КОНЕЦ КАК Валюта3Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд4
	|	КОНЕЦ КАК ТарифныйРазряд4Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийПоказатель4
	|	КОНЕЦ КАК Показатель4Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежняяВалюта4
	|	КОНЕЦ КАК Валюта4Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд5
	|	КОНЕЦ КАК ТарифныйРазряд5Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийПоказатель5
	|	КОНЕЦ КАК Показатель5Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежняяВалюта5
	|	КОНЕЦ КАК Валюта5Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд6
	|	КОНЕЦ КАК ТарифныйРазряд6Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежнийПоказатель6
	|	КОНЕЦ КАК Показатель6Завершения,
	|	ВЫБОР
	|		КОГДА ТЧНачисления.ПериодЗавершения >= ТЧНачисления.Период
	|				И ТЧНачисления.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеОПрежнихНачислениях.ПрежняяВалюта6
	|	КОНЕЦ КАК Валюта6Завершения,
	|	ДанныеОПрежнихНачислениях.ПрежнийВидРасчета,
	|	ДанныеОПрежнихНачислениях.ПрежнийВидРасчета.СпособРасчета КАК ПрежнийСпособРасчета,
	|	ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд1,
	|	ДанныеОПрежнихНачислениях.ПрежнийПоказатель1,
	|	ДанныеОПрежнихНачислениях.ПрежняяВалюта1,
	|	ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд2,
	|	ДанныеОПрежнихНачислениях.ПрежнийПоказатель2,
	|	ДанныеОПрежнихНачислениях.ПрежняяВалюта2,
	|	ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд3,
	|	ДанныеОПрежнихНачислениях.ПрежнийПоказатель3,
	|	ДанныеОПрежнихНачислениях.ПрежняяВалюта3,
	|	ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд4,
	|	ДанныеОПрежнихНачислениях.ПрежнийПоказатель4,
	|	ДанныеОПрежнихНачислениях.ПрежняяВалюта4,
	|	ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд5,
	|	ДанныеОПрежнихНачислениях.ПрежнийПоказатель5,
	|	ДанныеОПрежнихНачислениях.ПрежняяВалюта5,
	|	ДанныеОПрежнихНачислениях.ПрежнийТарифныйРазряд6,
	|	ДанныеОПрежнихНачислениях.ПрежнийПоказатель6,
	|	ДанныеОПрежнихНачислениях.ПрежняяВалюта6,
	|	ДанныеОПрежнихНачислениях.КонфликтныйДокумент,
	|	ДанныеОПрежнихНачислениях.ДатаДвижения,
	|	ЕСТЬNULL(Показатели.КоличествоПоказателей, 0) КАК КоличествоПоказателей,
	|	Показатели.Показатель1Предопределенный,
	|	Показатели.Показатель1Наименование,
	|	Показатели.Показатель1ТипПоказателя,
	|	Показатели.Показатель1ВозможностьИзменения,
	|	Показатели.Показатель2Предопределенный,
	|	Показатели.Показатель2Наименование,
	|	Показатели.Показатель2ТипПоказателя,
	|	Показатели.Показатель2ВозможностьИзменения,
	|	Показатели.Показатель3Предопределенный,
	|	Показатели.Показатель3Наименование,
	|	Показатели.Показатель3ТипПоказателя,
	|	Показатели.Показатель3ВозможностьИзменения,
	|	Показатели.Показатель4Предопределенный,
	|	Показатели.Показатель4Наименование,
	|	Показатели.Показатель4ТипПоказателя,
	|	Показатели.Показатель4ВозможностьИзменения,
	|	Показатели.Показатель5Предопределенный,
	|	Показатели.Показатель5Наименование,
	|	Показатели.Показатель5ТипПоказателя,
	|	Показатели.Показатель5ВозможностьИзменения,
	|	Показатели.Показатель6Предопределенный,
	|	Показатели.Показатель6Наименование,
	|	Показатели.Показатель6ТипПоказателя,
	|	Показатели.Показатель6ВозможностьИзменения,
	|	Показатели.Показатель1ТарифнаяСтавка,
	|	Показатели.Показатель2ТарифнаяСтавка,
	|	Показатели.Показатель3ТарифнаяСтавка,
	|	Показатели.Показатель4ТарифнаяСтавка,
	|	Показатели.Показатель5ТарифнаяСтавка,
	|	Показатели.Показатель6ТарифнаяСтавка,
	|	Показатели.Показатель1ЗапрашиватьПриКадровыхПеремещениях КАК Показатель1ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели.Показатель2ЗапрашиватьПриКадровыхПеремещениях КАК Показатель2ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели.Показатель3ЗапрашиватьПриКадровыхПеремещениях КАК Показатель3ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели.Показатель4ЗапрашиватьПриКадровыхПеремещениях КАК Показатель4ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели.Показатель5ЗапрашиватьПриКадровыхПеремещениях КАК Показатель5ЗапрашиватьПриКадровыхПеремещениях,
	|	Показатели.Показатель6ЗапрашиватьПриКадровыхПеремещениях КАК Показатель6ЗапрашиватьПриКадровыхПеремещениях,
	|	ДвойныеСтроки.КонфликтнаяСтрокаНомер КАК ДвойнаяСтрока
	|ИЗ
	|	ВТДанныеОНачислениях КАК ТЧНачисления
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеШтатногоРасписания КАК ДанныеШтатногоРасписания
	|		ПО ТЧНачисления.НомерСтроки = ДанныеШтатногоРасписания.НомерСтроки
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОПрежнихНачислениях КАК ДанныеОПрежнихНачислениях
	|		ПО ТЧНачисления.НомерСтроки = ДанныеОПрежнихНачислениях.НомерСтроки
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТПоказатели КАК Показатели
	|		ПО ТЧНачисления.НомерСтроки = Показатели.НомерСтроки
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТДвойныеСтроки КАК ДвойныеСтроки
	|		ПО ТЧНачисления.НомерСтроки = ДвойныеСтроки.НомерСтроки";*/
			//Запрос.Текст = ТекстЗапроса;
			return null;
		}
		// СформироватьЗапросПоНачисления()

		public void СформироватьДвижениеПоПлановымНачислениям(/*Движение, ВыборкаПоШапкеДокумента, ВыборкаСтрокЗапроса*/)
		{
			//Движение.Организация				= ВыборкаПоШапкеДокумента.ГоловнаяОрганизация;
			if(true/*НЕ ВыборкаСтрокЗапроса.ОсновноеНачисление*/)
			{
				//Движение.ВидРасчетаИзмерение	= ВыборкаСтрокЗапроса.ВидРасчета;
			}
			//Движение.ПервичныйДокумент			= ВыборкаПоШапкеДокумента.Ссылка;
			//СтрокаПолей = "Период,Сотрудник,Действие,ВидРасчета,ПериодЗавершения,ДействиеЗавершения,ВидРасчетаЗавершения";
			if(true/*ВыборкаСтрокЗапроса.Действие <> Перечисления.ВидыДействияСНачислением.Прекратить*/)
			{
			}
			/*// Движения на дату завершения
*/
			if(true/*ЗначениеЗаполнено(ВыборкаСтрокЗапроса.ПериодЗавершения) И ВыборкаСтрокЗапроса.ДействиеЗавершения <> Перечисления.ВидыДействияСНачислением.Прекратить*/)
			{
			}
			//ЗаполнитьЗначенияСвойств(Движение, ВыборкаСтрокЗапроса, СтрокаПолей);
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ РАБОТЫ С ШТАТНЫМ РАСПИСАНИЕМ
		// Функция возвращаект сведения о надбавках позиции штатного расписания на выбранную дату
		// для измерений Подразделение и Должность
		//

		public object СведенияОНадбавкахПозицииШтатногоРасписания(/*Период, Подразделение, Должность*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("ДатаАктуальности",	Период);
			//Запрос.УстановитьПараметр("Подразделение",		Подразделение);
			//Запрос.УстановитьПараметр("Должность",			Должность);
			/*Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.ВидНадбавки КАК Надбавка,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Показатель1,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Показатель2,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Показатель3,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Показатель4,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Показатель5,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Показатель6,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Валюта1,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Валюта2,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Валюта3,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Валюта4,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Валюта5,
	|   НадбавкиПоШтатномуРасписаниюСрезПоследних.Валюта6
	|ИЗ
	|   РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций.СрезПоследних(
	|			&ДатаАктуальности,
	|			ПодразделениеОрганизации = &Подразделение
	|				И Должность = &Должность) КАК НадбавкиПоШтатномуРасписаниюСрезПоследних";*/
			return null;
		}
		// СведенияОНадбавкахПозицииШтатногоРасписания()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ МЕХАНИЗМА ОБМЕНА ДАННЫМИ С БАНКАМИ ПО ЛИЦЕВЫМ СЧЕТАМ СОТРУДНИКОВ
		// Функция получает массив операций по счетам сотрудника из дерева XML

		public object ПолучитьОперацииПоЛицевымСчетамРаботников(/*ДеревоОбработки, ИмяЭлементаИмпорта*/)
		{
			//МассивОпераций = Новый Массив;
			return null;
		}

		public object ПолучитьЗначениеИзДерева(/*ВеткаЗначения, ШаблонОперации*/)
		{
			/*Экспорт

	СтадияОбработки = "Анализ данных операции";*/
			//ИмяЗначения = ВеткаЗначения.Имя;
			if(true/*ИмяЗначения = "Сотрудник"*/)
			{
				//СтруктураСотрудника = Новый Структура;
				//СтруктураСотрудника.Вставить("Фамилия", Неопределено);
				//СтруктураСотрудника.Вставить("Имя", Неопределено);
				//СтруктураСотрудника.Вставить("Отчество", Неопределено);
				/*ЗапросФИО = Новый Запрос("ВЫБРАТЬ РАЗРЕШЕННЫЕ
		                         |	ФИОФизЛицСрезПоследних.Фамилия,
		                         |	ФИОФизЛицСрезПоследних.Имя,
		                         |	ФИОФизЛицСрезПоследних.Отчество,
		                         |	ФИОФизЛицСрезПоследних.ФизЛицо
		                         |ИЗ
		                         |	РегистрСведений.ФИОФизЛиц.СрезПоследних КАК ФИОФизЛицСрезПоследних
		                         |ГДЕ
		                         |	ФИОФизЛицСрезПоследних.Фамилия = &Фамилия
		                         |	И ФИОФизЛицСрезПоследних.Имя = &Имя
		                         |	И ФИОФизЛицСрезПоследних.Отчество = &Отчество");*/
				//ЗапросФИО.УстановитьПараметр("Фамилия", СтруктураСотрудника.Фамилия);
				//ЗапросФИО.УстановитьПараметр("Имя", СтруктураСотрудника.Имя);
				//ЗапросФИО.УстановитьПараметр("Отчество", СтруктураСотрудника.Отчество);
				//Выборка = ЗапросФИО.Выполнить().Выбрать();
				if(true/*Выборка.Следующий()*/)
				{
				}
			}
			//СообщитьОбОшибкеОбработки(СтадияОбработки, "Неверное значение " + ИмяЗначения + "в структуре элемента!");
			return null;
		}

		public void СообщитьОбОшибкеОбработки(/*СтадияОбработки, ТекстОшибки*/)
		{
			/*Экспорт
	
	Сообщить(СтадияОбработки + ":  " + ТекстОшибки);*/
		}
	}
}
